Difference between revisions of "SQLLastID"
From SCAR Divi Manual
| (2 intermediate revisions by the same user not shown) | |||
| Line 8: | Line 8: | ||
==Description== | ==Description== | ||
| − | Returns the ID of the last row that was inserted into an open [ | + | Returns the ID of the last row that was inserted into an open [[SQLite3]] database given by '''DBIndex'''. |
==Example== | ==Example== | ||
| Line 57: | Line 57: | ||
[[Category:Functions]] | [[Category:Functions]] | ||
| − | [[Category:Database Functions | + | [[Category:Database Functions]] |
Latest revision as of 09:59, 10 February 2012
Definition
function SQLLastID(const DBIndex: Integer): Integer;
Availability
SCAR Divi 3.31 > Current
Description
Returns the ID of the last row that was inserted into an open SQLite3 database given by DBIndex.
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!