Press on the image to return to the main documentation page.
SQLCipher v1.2
List of types:
SQLCipher
SQLCipher
SQLCipher type is an extension to SQL which supports encryption.
See the
tutorial
for more information.
Events:
None
Members:
AddNonQueryToBatch
(
arg0
As
String
,
arg1
As
List
)
BeginTransaction
Close
EndTransaction
ExecNonQuery
(
Statement
As
String
)
ExecNonQuery2
(
Statement
As
String
,
Args
As
List
)
ExecNonQueryBatch
(
arg1
As
String
)
ExecQuery
(
Query
As
String
)
As
android
.
database
.
Cursor
ExecQuery2
(
Query
As
String
,
StringArgs
()
As
String
)
As
android
.
database
.
Cursor
ExecQueryAsync
(
arg1
As
String
,
arg2
As
String
,
arg3
()
As
String
)
ExecQuerySingleResult
(
Query
As
String
)
As
String
ExecQuerySingleResult2
(
Query
As
String
,
StringArgs
()
As
String
)
As
String
Initialize
(
Dir
As
String
,
FileName
As
String
,
CreateIfNecessary
As
Boolean
,
Password
As
String
,
Unused
As
String
)
IsInitialized
As
Boolean
TransactionSuccessful
Members description:
AddNonQueryToBatch
(
arg0
As
String
,
arg1
As
List
)
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:
For
i
=
1
to
1000
SQL1
.
ExecNonQuery
(
"INSERT INTO table1 VALUES(...)
Next
SQL1
.
TransactionSuccessful
Catch
Log
(
LastException
.
Message
)
'no changes will be made
End
Try
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
(
Statement
As
String
)
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
(
Statement
As
String
,
Args
As
List
)
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)"
,
Array
As
Object
(
"some text"
,
2
))
ExecNonQueryBatch
(
arg1
As
String
)
ExecQuery
(
Query
As
String
)
As
android
.
database
.
Cursor
Executes the query and returns a cursor which is used to go over the results.
Example:
Dim
Cursor
As
Cursor
Cursor
=
SQL1
.
ExecQuery
(
"SELECT col1, col2 FROM table1"
)
For
i
=
0
To
Cursor
.
RowCount
-
1
Cursor
.
Position
=
i
Log
(
Cursor
.
GetString
(
"col1"
))
Log
(
Cursor
.
GetInt
(
"col2"
))
Next
ExecQuery2
(
Query
As
String
,
StringArgs
()
As
String
)
As
android
.
database
.
Cursor
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:
Dim
Cursor
As
Cursor
Cursor
=
sql1
.
ExecQuery2
(
"SELECT col1 FROM table1 WHERE col3 = ?"
,
Array
As
String
(
22
))
SQLite will try to convert the string values based on the columns types.
ExecQueryAsync
(
arg1
As
String
,
arg2
As
String
,
arg3
()
As
String
)
ExecQuerySingleResult
(
Query
As
String
)
As
String
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:
Dim
NumberOfMatches
As
Int
NumberOfMatches
=
SQL1
.
ExecQuerySingleResult
(
"SELECT count(*) FROM table1 WHERE col2 > 300"
)
ExecQuerySingleResult2
(
Query
As
String
,
StringArgs
()
As
String
)
As
String
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:
Dim
NumberOfMatches
As
Int
NumberOfMatches
=
SQL1
.
ExecQuerySingleResult2
(
"SELECT count(*) FROM table1 WHERE col2 > ?"
,
Array
As
String
(
300
))
Initialize
(
Dir
As
String
,
FileName
As
String
,
CreateIfNecessary
As
Boolean
,
Password
As
String
,
Unused
As
String
)
Opens the database file. A new database will be created if it does not exist and CreateIfNecessary is true.
IsInitialized
As
Boolean
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