Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~

Fonction SQLFetch

Declare Function SQLFetch Lib "odbc32.dll" ( _
                 
ByVal hstmt As Long) As Long
Versions :
. Windows 95/98 : Oui
. Windows NT : A partir de 3.1
. Windows 2000/XP : Oui

Description :
(origine : Philippe Plançon - plancon@onetelnet.fr)
La fonction SQLFetch permet d'extraire les résultats retounés après l'envoi d'une requête.
hstmt est un handle d'envoi d'une instruction SQL faite par SQLExecute ou SQLExecDirect.

Exemple d'utilisation :

' (Exemple de Phil)
' Dans cet exemple, à chaque appel de SQLFetch, on passe à la ligne suivante.

Declare Function SQLNumResultCols Lib "odbc32" (ByVal hstmt As Long, _
        NumCols
As Long) As Long
Declare Function
SQLFetch Lib "odbc32" (ByVal hstmt As Long) As Long
Declare Function
SQLGetData Lib "odbc32" (ByVal hstmt As Long, ByVal _
        col
As Long, ByVal fConvType As Long, ByVal rgbValue As Any, _
       
ByVal cbValueMax As Long, pcbValue As Long) As Long

Global Const
SQL_CHAR = 1
Global Const SQL_SUCCESS = 0

' ---Déclarations des variables---
Dim i, j as Long
Dim
Tab
Dim Cols as long
Dim
SBuffer As String * 256
Dim LongOutLen as long
Dim
hstmt as long

' La connection à une base doit être établi avant (voir SQLAllocConnect)

' ---Extraction d'une requête retournant plus d'une colonne---
SQLNumResultCols hstmt, Cols
i = 1
Do While SQLFetch(hstmt) = SQL_SUCCESS
   
Redim Preserve Tab(i,Cols)
    SBuffer = String$(256, 0)
   
For j = 1 To Cols
        SQLGetData hstmt, j, SQL_CHAR, SBuffer, Len(SBuffer), LongOutLen
        Tab(i,j) = Mid$(SBuffer, 1, LongOutLen)
' Mid$ est mieux que Mid
                   ' (Voir optimisation du code VB dans la rubrique Code)
   
Next j
    i = i + 1
Loop

Retour à la liste des API

Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr