home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Total C++ 2
/
TOTALCTWO.iso
/
borland
/
32snipit.pak
/
LSQL.C
< prev
next >
Wrap
C/C++ Source or Header
|
1997-05-06
|
3KB
|
98 lines
// BDE32 3.x - (C) Copyright 1996 by Borland International
// lsql.c
#include "snipit.h"
//=====================================================================
// Function:
// LocalSQL();
//
// Description:
// This example shows how to do local SQL on a dBASE table
//=====================================================================
void
LocalSQL (void)
{
hDBIDb hDb = 0; // Handle to the database
hDBICur hCur = 0; // Handle to the Answer table
hDBIStmt hStmt = 0; // Handle to the SQL statement
DBIResult rslt;
CHAR szQry[] = { // The Text of the SQL Statement
"SELECT name, phone, country \r\n"
"FROM \"cust.dbf\" \r\n"
"WHERE cust_no > 4000"
};
Screen("*** Local SQL Example ***\r\n");
BREAK_IN_DEBUGGER();
Screen(" Initializing IDAPI...");
if (InitAndConnect(&hDb) != DBIERR_NONE)
{
Screen("\r\n*** End of Example ***");
return;
}
Screen(" Setting the database directory...");
rslt = DbiSetDirectory(hDb, (pCHAR) szTblDirectory);
ChkRslt(rslt, "SetDirectory");
Screen(" Perform the following SQL statement on the table:\r\n");
Screen(szQry);
Screen(" Allocate statement handle...");
rslt = DbiQAlloc(hDb, qrylangSQL, &hStmt);
if (ChkRslt(rslt, "QAlloc") != DBIERR_NONE)
{
CloseDbAndExit(&hDb);
Screen("\r\n*** End of Example ***");
return;
}
Screen("\r\n Prepare the SQL statement...");
rslt = DbiQPrepare(hStmt, szQry);
if (ChkRslt(rslt, "QPrepare") != DBIERR_NONE)
{
CloseDbAndExit(&hDb);
Screen("\r\n*** End of Example ***");
return;
}
Screen(" Execute the SQL statement...");
rslt = DbiQExec(hStmt, &hCur);
if (ChkRslt(rslt, "QExec") != DBIERR_NONE)
{
CloseDbAndExit(&hDb);
Screen("\r\n*** End of Example ***");
return;
}
// Check for a valid cursor
if (hCur)
{
Screen(" Display the first 10 Records in the answer table...");
rslt = DbiSetToBegin(hCur);
ChkRslt(rslt, "SetToBegin");
DisplayTable(hCur, 10);
Screen("\r\n Close the cursor to the answer set...");
rslt = DbiCloseCursor(&hCur);
ChkRslt(rslt, "CloseCursor");
}
else
{
Screen(" Could not get cursor to the answer table");
}
Screen(" Release memory allocated for the query...");
rslt = DbiQFree(&hStmt);
ChkRslt(rslt, "QryFree");
Screen(" Close the database and exit IDAPI...");
CloseDbAndExit(&hDb);
Screen("\r\n*** End of Example ***");
}