Difference between revisions of "SQLQuery"
From SCAR Divi Manual
| Line 58: | Line 58: | ||
[[Category:Functions]] | [[Category:Functions]] | ||
| − | [[Category:Database Functions]] | + | [[Category:Database Functions|SQLQuery]] |
Revision as of 09:34, 10 February 2012
Definition
procedure SQLQuery(const DBIndex: Integer; const Query: string);
Availability
SCAR Divi 3.31 > Current
Description
Allows you to execute a "simple" SQLite3 query statement Query on an open database connection specified by DBIndex. If you would like to retrieve data from the database, use parameter binding and/or have more control over your database interactions, you should use SQLQueryEx.
Example
var
DB, Query, InsertID: Integer;
begin
DB := SQLOpen(WorkspacePath + 'test.db3', True);
try
// Create a table
SQLQuery(DB, 'CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY, string TEXT)');
// Insert 2 rows into the table
Query := SQLQueryEx(DB, 'INSERT INTO test VALUES(NULL, ?)');
try
SQLBindStr(Query, 1, 'Hello Mars!');
SQLQueryStep(Query);
SQLQueryReset(Query);
SQLBindStr(Query, 1, 'Hello World!');
SQLQueryStep(Query);
InsertID := SQLLastID(DB);
finally
SQLQueryFree(Query);
end;
// Get the data stored in the last row
Query := SQLQueryEx(DB, 'SELECT * FROM test WHERE id = ?');
try
SQLBindInt(Query, 1, InsertID);
if SQLQueryStep(Query) = SQL_ROW then
WriteLn(SQLColumnStr(Query, 1));
finally
SQLQueryFree(Query);
end;
finally
SQLFree(DB);
end;
end.Output:
Hello World!