Platforms to show: All Mac Windows Linux Cross-Platform
/SQL/SQLite select version with Trace events
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 select version with Trace events
This example is the version from Thu, 6th Apr 2016.
Project "SQLite select version with Trace events.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
dim globals as new mySQLGlobalsMBS
dim con as SQLConnectionMBS
dim cmd as SQLCommandMBS
try
con = new MySQLConnectionMBS // 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 = "c:\test.db" // for Windows and Linux in the current folder the application is inside.
end if
con.Connect(path,"","",SQLConnectionMBS.kSQLiteClient)
// associate a command with connection
// connection can also be specified in SACommand constructor
'cmd.Connection=con
// create table
cmd = new MySQLCommandMBS
cmd.Connection = con
cmd.setCommandText("select sqlite_version()",cmd.kCommandTypeSQLStatement)
cmd.Execute
while cmd.FetchNext
MsgBox "Version: "+cmd.Field(1).asStringValue
wend
// commit changes on success
con.Commit
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
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
Class mySQLGlobalsMBS Inherits SQLGlobalsMBS
EventHandler Sub Trace(traceInfo as integer, SQL as string, Connection as SQLConnectionMBS, Command as SQLCommandMBS)
System.DebugLog CurrentMethodName
System.DebugLog sql
End EventHandler
End Class
Class MySQLConnectionMBS Inherits SQLConnectionMBS
EventHandler Sub Trace(traceInfo as integer, SQL as string, Command as SQLCommandMBS)
System.DebugLog CurrentMethodName
System.DebugLog sql
End EventHandler
End Class
Class MySQLCommandMBS Inherits SQLCommandMBS
EventHandler Sub Trace(traceInfo as integer, SQL as string)
System.DebugLog CurrentMethodName
System.DebugLog sql
End EventHandler
End Class
End Project
See also:
The items on this page are in the following plugins: MBS SQL Plugin.