Platforms to show: All Mac Windows Linux Cross-Platform
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/Firebird Query
This example is the version from Tue, 13th Jan 2014.
Project "Firebird Query.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
EventHandler Sub Open()
dim con as new SQLConnectionMBS
try
// where is the library?
if TargetWin32 then
con.Option(con.kOptionLibraryFirebird) = "gds32.dll;fbclient.dll"
elseif TargetLinux then
con.Option(con.kOptionLibraryFirebird) = "libgds.so:libfbclient.so"
elseif TargetMachO then
con.Option(con.kOptionLibraryFirebird) = "libgds.dylib:libfbclient.dylib"
else
MsgBox "Platform not supported."
quit
end if
// connect to database
// in this example it is Firebird/InterBase,
// but can also be Sybase, Informix, DB2, MySQL
// SQLServer, SQLBase and ODBC
// Read more here: http://www.sqlapi.com/ServerSpecific/InterBase.html
// Please enter values for your server here:
// this is for Webfakt software using Firebird database internally on Windows.
dim ConnectionString as string = "C:\webfakt\daten\webfakt.fdb"
// For local databases, this can be a file name.
// To connect to a database on a remote server using TCP/IP the syntax is <server name>:<filename>.
// To connect to a database on a remote server using NetBEUI, the syntax is \\<server name>\<filename>.
// To connect to a database on a remote server using SPX, the syntax is <server name>@<filename>.
dim username as string = "SYSDBA"
dim password as string = "masterkey"
con.Connect(ConnectionString, username, password, SQLConnectionMBS.kFirebirdClient)
dim sql as string
// normally
sql = "select ANREDE, VORNAME, FIRMA FROM Kunden"
// but here we need to cast as this database has no character set defined for the tables
sql = "select "+_
"CAST(ANREDE as varchar(100) CHARACTER SET ISO8859_1),"+_
"CAST(VORNAME as varchar(100) CHARACTER SET ISO8859_1),"+_
"CAST(FIRMA as varchar(100) CHARACTER SET ISO8859_1)"+_
" from Kunden"
dim cmd as new SQLCommandMBS(con, sql)
cmd.Execute
while cmd.FetchNext
dim v as string = Cmd.Field(1).asStringValue
dim n as string = Cmd.Field(2).asStringValue
dim f as string = Cmd.Field(3).asStringValue
window1.Listbox1.addrow v,n,f
wend
'MsgBox "We are connected!"
// Disconnect is optional
// autodisconnect will occur in destructor if needed
'con.Disconnect
'
'msgbox "We are disconnected!"
catch r as RuntimeException
MsgBox r.message
// SAConnection::Rollback()
// can also throw an exception
// (if a network error for example),
// we will be ready
try
// on error rollback changes
con.Rollback
catch rr as runtimeexception
MsgBox rr.message
end try
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.