home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C Programming Starter Kit 2.0
/
SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso
/
bde
/
snipit.pak
/
LSQL.C
< prev
next >
Wrap
C/C++ Source or Header
|
1997-07-23
|
3KB
|
89 lines
// BDE - (C) Copyright 1995 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)
{
DBIResult rslt; // Return value from IDAPI
hDBIDb hDb; // Handle to the database
hDBICur hCur; // Handle to the answer table
hDBIStmt hStmt; // Handle to the SQL statement
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("\r\n Prepare the SQL statement...");
rslt = DbiQPrepare(hDb, qrylangSQL, szQry, &hStmt);
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 ***");
}