'=========================================================================== ' Subject: OPEN & READ AN ACCESS TABLE Date: 04-08-00 (01:59) ' Author: Ralph Berger Code: PBDLL ' Origin: rb@bergertime.de Packet: PBDLL.ABC '=========================================================================== 'below is a pbdll ODBC sample. The include files are missing. But they are 'all on pb's ftp server. 'Best rgds 'Ralph ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' file : access.bas ' open and read a access table ' sql32.inc & sqlext32.inc are from pb's ftp server (file: odbc30.zip) $COMPILE EXE $DIM ALL $INCLUDE "WIN32API.INC" $INCLUDE "SQL32.INC" $INCLUDE "SQLEXT32.INC" FUNCTION PBMAIN() '' ODBC Session LOCAL a_hEnv AS DWORD LOCAL a_hDBC AS DWORD LOCAL hstmt AS DWORD LOCAL ret AS LONG '' Data Fields LOCAL field1 AS ASCIIZ * 7 LOCAL field2 AS ASCIIZ * 26 LOCAL cbValue1 AS LONG LOCAL cbValue2 AS LONG ' Variables that hold the length of the parameters cbValue1 = %SQL_NTS cbValue2 = %SQL_NTS ' Connect via ODBC Ret = SQLAllocEnv(a_hEnv) ' Allocates the SQL environment Ret = SQLAllocConnect(a_hEnv, a_hDBC) ' Allocates connection Ret = SQLConnect(a_hDBC, "ATIME", %SQL_NTS, "Admin", %SQL_NTS, "", %SQL_NTS) ' Create a statement to select data Ret = SQLAllocStmt(a_hDBC, hstmt) ret = SQLExecDirect(hstmt, "Select Nr, Name FROM abteilung" , %SQL_NTS) IF ret = %SQL_ERROR OR _ ret = %SQL_SUCCESS_WITH_INFO THEN MSGBOX STR$(hstmt),0,"Error in SQLExecDirect" ' Bind the parameters for the select query Ret = SQLBindCol(hstmt, 1, %SQL_C_CHAR, field1, SIZEOF(field1), cbValue1) Ret = SQLBindCol(hstmt, 2, %SQL_C_CHAR, field2, SIZEOF(field2), cbValue2) IF ret = %SQL_ERROR OR _ ret = %SQL_SUCCESS_WITH_INFO THEN MSGBOX STR$(Ret),0,"Error in SQLBindCol" ' Read a record and set bookmark to next one Ret = SQLFetch(hstmt) IF ret = %SQL_ERROR OR ret = %SQL_SUCCESS_WITH_INFO THEN MSGBOX STR$(Ret),0,"Error in SQLFetch" ELSE MSGBOX "Field 1 : " & field1 & $CRLF & _ "Field 2 : " & field2, _ 0, "SQLFetch got data" END IF ' Free the ODBC resources Ret = SQLFreeStmt(hstmt, %SQL_DROP) Ret = SQLDisconnect(a_hDBC) ' Disconnecting and deallocating. Ret = SQLFreeConnect(a_hDBC) Ret = SQLFreeEnv(a_hEnv) END FUNCTION