Platforms to show: All Mac Windows Linux Cross-Platform
/SQL/SQLite Fetch values with RowSet
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 RowSet
This example is the version from Sat, 11th Oct 2019.
Project "SQLite Fetch values with RowSet.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
EventHandler Sub Opening()
// this example needs Xojo 2019r2 or newer!
// 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 RowSet and process
Dim r As RowSet = cmd.AsRowSet
While Not r.AfterLastRow
Dim fid As Integer = r.Column("fid").IntegerValue
Dim fvarchar20 As String = r.Column("fvarchar20").StringValue
window1.Listbox1.AddRow str(fid)
window1.Listbox1.cell(window1.Listbox1.LastIndex,1) = fvarchar20
r.MoveToNextRow
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:
The items on this page are in the following plugins: MBS SQL Plugin.