Platforms to show: All Mac Windows Linux Cross-Platform
/SQL/MySQL ExecuteSQL with Parameters
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/MySQL ExecuteSQL with Parameters
This example is the version from Fri, 4th Aug 2016.
Project "MySQL ExecuteSQL with Parameters.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
EventHandler Sub Open()
dim con as SQLConnectionMBS
dim cmd as SQLCommandMBS
try
con = new SQLConnectionMBS // connection object
// where is the library?
// you can place the database client library files where you want.
// example code just has some convenient location for testing.
con.SetFileOption con.kOptionLibraryMySQL, SpecialFolder.UserHome.Child("libmysqlclient.dylib")
cmd = new SQLCommandMBS // create command object
// connect to database (mySQL in our example)
// server: 192.168.1.80
// port: 3306
// database: test
// name: root
// no password
con.Connect("192.168.1.80,3306@test","root","",SQLConnectionMBS.kMySQLClient)
// associate a command with connection
// connection can also be specified in SACommand constructor
cmd.Connection=con
// Insert 2 rows
cmd.setCommandText("Insert into test_tbl(fid, fvarchar20) values(:1, :2)")
// use first method of binding - param assignment
cmd.Param(1).setAsLong(2)
cmd.Param(2).setAsString(new SQLStringMBS("Some string (2)"))
// Insert first row
cmd.Execute
// another record
cmd.Param(1).setAsLong(3)
cmd.Param(2).setAsString("Some string (3)")
// Insert second row
cmd.Execute
// commit changes on success
con.Commit
MsgBox "Input parameters bound, rows inserted!"
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
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.