Gets the number of columns available in the result set.
GetBlob (ColumnNameAsString) AsByte()
Returns the blob stored in the given column. Example: DimBuffer() AsByte Buffer = Cursor.GetBlob("col1")
GetBlob2 (IndexAsInt) AsByte()
Returns the blob stored in the column at the given ordinal. Example: DimBuffer() AsByte Buffer = Cursor.GetBlob2(0)
GetColumnName (IndexAsInt) AsString
Returns the name of the column at the specified index. The first column index is 0.
GetDouble (ColumnNameAsString) AsDouble
Returns the Double value stored in the given column. The value will be converted to Double if it is of different type. Example: Log(Cursor.GetDouble("col2"))
GetDouble2 (IndexAsInt) AsDouble
Returns the Double value stored in the column at the given ordinal. The value will be converted to Double if it is of different type. Example: Log(Cursor.GetDouble2(0))
GetInt (ColumnNameAsString) AsInt
Returns the Int value stored in the given column. The value will be converted to Int if it is of different type. Example: Log(Cursor.GetInt("col2"))
GetInt2 (IndexAsInt) AsInt
Returns the Int value stored in the column at the given ordinal. The value will be converted to Int if it is of different type. Example: Log(Cursor.GetInt2(0))
GetLong (ColumnNameAsString) AsLong
Returns the Long value stored in the given column. The value will be converted to Long if it is of different type. Example: Log(Cursor.GetLong("col2"))
GetLong2 (IndexAsInt) AsLong
Returns the Long value stored in the column at the given ordinal. The value will be converted to Long if it is of different type. Example: Log(Cursor.GetLong2(0))
GetString (ColumnNameAsString) AsString
Returns the String value stored in the given column. The value will be converted to String if it is of different type. Example: Log(Cursor.GetString("col2"))
GetString2 (IndexAsInt) AsString
Returns the String value stored in the column at the given ordinal. The value will be converted to String if it is of different type. Example: Log(Cursor.GetString2(0))
IsInitializedAsBoolean
PositionAsInt
Gets or sets the current position (row). Note that the starting position of a cursor returned from a query is -1. The first valid position is 0. Example: DimCursorAsCursor Cursor = SQL1.ExecQuery("SELECT col1, col2 FROM table1")
Fori = 0ToCursor.RowCount - 1 Cursor.Position = i Log(Cursor.GetString("col1"))
Log(Cursor.GetInt("col2"))
Next Cursor.Close
RowCountAsInt [read only]
Gets the numbers or rows available in the result set.
Gets the number of columns available in the result set.
GetBlob (ColumnNameAsString) AsByte()
Returns the blob stored in the given column. Example: DimBuffer() AsByte Buffer = Cursor.GetBlob("col1")
GetBlob2 (IndexAsInt) AsByte()
Returns the blob stored in the column at the given ordinal. Example: DimBuffer() AsByte Buffer = Cursor.GetBlob2(0)
GetColumnName (IndexAsInt) AsString
Returns the name of the column at the specified index. The first column index is 0.
GetDouble (ColumnNameAsString) AsDouble
Returns the Double value stored in the given column. The value will be converted to Double if it is of different type. Example: Log(Cursor.GetDouble("col2"))
GetDouble2 (IndexAsInt) AsDouble
Returns the Double value stored in the column at the given ordinal. The value will be converted to Double if it is of different type. Example: Log(Cursor.GetDouble2(0))
GetInt (ColumnNameAsString) AsInt
Returns the Int value stored in the given column. The value will be converted to Int if it is of different type. Example: Log(Cursor.GetInt("col2"))
GetInt2 (IndexAsInt) AsInt
Returns the Int value stored in the column at the given ordinal. The value will be converted to Int if it is of different type. Example: Log(Cursor.GetInt2(0))
GetLong (ColumnNameAsString) AsLong
Returns the Long value stored in the given column. The value will be converted to Long if it is of different type. Example: Log(Cursor.GetLong("col2"))
GetLong2 (IndexAsInt) AsLong
Returns the Long value stored in the column at the given ordinal. The value will be converted to Long if it is of different type. Example: Log(Cursor.GetLong2(0))
GetString (ColumnNameAsString) AsString
Returns the String value stored in the given column. The value will be converted to String if it is of different type. Example: Log(Cursor.GetString("col2"))
GetString2 (IndexAsInt) AsString
Returns the String value stored in the column at the given ordinal. The value will be converted to String if it is of different type. Example: Log(Cursor.GetString2(0))
IsInitializedAsBoolean
NextRowAsBoolean
Moves the cursor to the next result. Returns false when the cursor reaches the end. Example: DoWhileResultSet1.Next 'Work with Row Loop
PositionAsInt
Gets or sets the current position (row). Note that the starting position of a cursor returned from a query is -1. The first valid position is 0. Example: DimCursorAsCursor Cursor = SQL1.ExecQuery("SELECT col1, col2 FROM table1")
Fori = 0ToCursor.RowCount - 1 Cursor.Position = i Log(Cursor.GetString("col1"))
Log(Cursor.GetInt("col2"))
Next Cursor.Close
RowCountAsInt [read only]
Gets the numbers or rows available in the result set.
Adds a non-query statement to the batch of statements. The statements are (asynchronously) executed when you call ExecNonQueryBatch. Args parameter can be Null if it is not needed. Example: Fori = 1To1000 sql.AddNonQueryToBatch("INSERT INTO table1 VALUES (?)", Array(Rnd(0, 100000)))
Next DimSenderFilterAsObject = sql.ExecNonQueryBatch("SQL")
WaitFor (SenderFilter) SQL_NonQueryComplete (SuccessAsBoolean)
Log("NonQuery: " & Success)
BeginTransaction
Begins a transaction. A transaction is a set of multiple "writing" statements that are atomically committed, hence all changes will be made or no changes will be made. As a side effect those statements will be executed significantly faster (in the default case a transaction is implicitly created for each statement). It is very important to handle transaction carefully and close them. The transaction is considered successful only if TransactionSuccessful is called. Otherwise no changes will be made. Typical usage: SQL1.BeginTransaction Try 'block of statements like: Fori = 1to1000 SQL1.ExecNonQuery("INSERT INTO table1 VALUES(...)
Next SQL1.TransactionSuccessful Catch Log(LastException.Message) 'no changes will be made EndTry SQL1.EndTransaction
Close
Closes the database. Does not do anything if the database is not opened or was closed before.
EndTransaction
Ends the transaction.
ExecNonQuery (StatementAsString)
Executes a single non query SQL statement. Example: SQL1.ExecNonQuery("CREATE TABLE table1 (col1 TEXT , col2 INTEGER, col3 INTEGER)") If you plan to do many "writing" queries one after another, then you should consider using BeginTransaction / EndTransaction. It will execute significantly faster.
ExecNonQuery2 (StatementAsString, ArgsAsList)
Executes a single non query SQL statement. The statement can include question marks which will be replaced by the items in the given list. Note that Basic4android converts arrays to lists implicitly. The values in the list should be strings, numbers or bytes arrays. Example: SQL1.ExecNonQuery2("INSERT INTO table1 VALUES (?, ?, 0)", ArrayAsObject("some text", 2))
ExecNonQueryBatch (EventNameAsString) AsObject
Asynchronously executes a batch of non-query statements (such as INSERT). The NonQueryComplete event is raised after the statements are completed. You should call AddNonQueryToBatch one or more times before calling this method to add statements to the batch. Note that this method internally begins and ends a transaction. Returns an object that can be used as the sender filter for Wait For calls. Example: Fori = 1To1000 sql.AddNonQueryToBatch("INSERT INTO table1 VALUES (?)", Array(Rnd(0, 100000)))
Next DimSenderFilterAsObject = sql.ExecNonQueryBatch("SQL")
WaitFor (SenderFilter) SQL_NonQueryComplete (SuccessAsBoolean)
Log("NonQuery: " & Success)
Executes the query and returns a cursor which is used to go over the results. Example: DimCursorAsCursor Cursor = SQL1.ExecQuery("SELECT col1, col2 FROM table1")
Fori = 0ToCursor.RowCount - 1 Cursor.Position = i Log(Cursor.GetString("col1"))
Log(Cursor.GetInt("col2"))
Next
Executes the query and returns a cursor which is used to go over the results. The query can include question marks which will be replaced with the values in the array. Example: DimCursorAsCursor Cursor = sql1.ExecQuery2("SELECT col1 FROM table1 WHERE col3 = ?", ArrayAsString(22)) SQLite will try to convert the string values based on the columns types.
Asynchronously executes the given query. The QueryComplete event will be raised when the results are ready. Note that ResultSet extends Cursor. You can use Cursor if preferred. Returns an object that can be used as the sender filter for Wait For calls. Example: DimSenderFilterAsObject = sql.ExecQueryAsync("SQL", "SELECT * FROM table1", Null)
WaitFor (SenderFilter) SQL_QueryComplete (SuccessAsBoolean, rsAsResultSet)
IfSuccessThen DoWhilers.NextRow Log(rs.GetInt2(0))
Loop rs.Close Else Log(LastException)
EndIf
ExecQuerySingleResult (QueryAsString) AsString
Executes the query and returns the value in the first column and the first row (in the result set). Returns Null if no results were found. Example: DimNumberOfMatchesAsInt NumberOfMatches = SQL1.ExecQuerySingleResult("SELECT count(*) FROM table1 WHERE col2 > 300")
Executes the query and returns the value in the first column and the first row (in the result set). Returns Null if no results were found. Example: DimNumberOfMatchesAsInt NumberOfMatches = SQL1.ExecQuerySingleResult2("SELECT count(*) FROM table1 WHERE col2 > ?", ArrayAsString(300))
Opens the database file. A new database will be created if it does not exist and CreateIfNecessary is true. IMPORTANT: this object should be declared in Sub Process_Globals. Example: DimSQL1AsSQL SQL1.Initialize(File.InternalDir, "MyDb.db", True)
IsInitializedAsBoolean
Tests whether the database is initialized and opened.
TransactionSuccessful
Marks the transaction as a successful transaction. No further statements should be executed till calling EndTransaction.
Top