Platforms to show: All Mac Windows Linux Cross-Platform
/SQL/SQLite Fetch values with Recordset
Required plugins for this example: MBS SQL Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /SQL/SQLite Fetch values with Recordset
This example is the version from Thu, 6th Apr 2016.
Project "SQLite Fetch values with Recordset.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
EventHandler Sub Open()
// use internal sqlite library
call InternalSQLiteLibraryMBS.Use
// reference SQLDatabaseMBS here, so linker includes the plugin needed for RecordSet
dim db as new SQLDatabaseMBS
dim con as SQLConnectionMBS
dim cmd as SQLCommandMBS
try
con = new SQLConnectionMBS // connection object
// where is the library?
'con.Option(con.kOptionLibrarySQLite) = "/usr/lib/libsqlite3.0.dylib"
// connect to database
dim path as string
if TargetMacOS then
path = "/tmp/test.db" // put the database in the temporary folder
else
path = "test.db" // for Windows and Linux in the current folder the application is inside.
end if
con.Connect(path,"","",SQLConnectionMBS.kSQLiteClient)
cmd = new SQLCommandMBS(con, "Select fid, fvarchar20 from test_tbl") // create command object
// Select from our test table
cmd.Execute
// now get as RecordSet and process
dim r as RecordSet = cmd.AsRecordSet
while not r.EOF
dim fid as integer = r.Field("fid").IntegerValue
dim fvarchar20 as string = r.Field("fvarchar20").StringValue
window1.Listbox1.AddRow str(fid)
window1.Listbox1.cell(window1.Listbox1.LastIndex,1)=fvarchar20
r.MoveNext
wend
// commit changes on success
con.Commit
MsgBox "Rows selected!"
catch r as SQLErrorExceptionMBS
// SAConnection::Rollback()
// can also throw an exception
// (if a network error for example),
// we will be ready
try
// on error rollback changes
if con<>nil then
con.rollback
end if
catch x as SQLErrorExceptionMBS
// ignore
end try
// show error message
MsgBox r.message
end try
End EventHandler
End Class
Class Window1 Inherits Window
Control Listbox1 Inherits Listbox
ControlInstance Listbox1 Inherits Listbox
End Control
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
End Project
See also:
- /SQL/SQLite Backup
- /SQL/SQLite Connect in Memory Database
- /SQL/SQLite Encryption Fetch values
- /SQL/SQLite ExecuteSQL with Parameters
- /SQL/SQLite Fetch rows bulk
- /SQL/SQLite Fetch values
- /SQL/SQLite select version with Trace events
- /SQL/SQLite Update values
- /SQL/SQLite Version
- /SQL/SQLite Version with sqlcipher
The items on this page are in the following plugins: MBS SQL Plugin.