Difference between revisions of "SQLOpen"
From SCAR Divi Manual
(→Example) |
(→Description) |
||
| Line 8: | Line 8: | ||
==Description== | ==Description== | ||
| − | Opens an [http://www.sqlite.org/ SQLite3] database at the path given by '''Path'''. If '''CreateIfNotFound''' is true, it will create a new database at the given path if none is found. The function returns the index for the database in the resource system or -1 if the function failed or in case '''CreateIfNotFound''' is [[false]], when there was no file at the given path. | + | Opens an [http://www.sqlite.org/ SQLite3] database at the path given by '''Path'''. If '''CreateIfNotFound''' is [[true]], it will create a new database at the given path if none is found. The function returns the index for the database in the resource system or -1 if the function failed or in case '''CreateIfNotFound''' is [[false]], when there was no file at the given path. |
==Example== | ==Example== | ||
Revision as of 23:43, 9 February 2012
Definition
function SQLOpen(const Path: string; const CreateIfNotFound: Boolean): Integer;
Availability
SCAR Divi 3.31 > Current
Description
Opens an SQLite3 database at the path given by Path. If CreateIfNotFound is true, it will create a new database at the given path if none is found. The function returns the index for the database in the resource system or -1 if the function failed or in case CreateIfNotFound is false, when there was no file at the given path.
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!