Xojo Conferences
XDCMay2019MiamiUSA

Platforms to show: All Mac Windows Linux Cross-Platform

/SQL/SQLite Table Definition
Function:
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 Table Definition
This example is the version from Thu, 6th Apr 2016.
Project "SQLite Table Definition.rbp"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
EventHandler Sub Open() // use internal sqlite library call InternalSQLiteLibraryMBS.Use dim con as new SQLConnectionMBS try // where is the library? 'con.Option(con.kOptionLibrarySQLite) = "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) // create table con.SQLExecute "Create table test_tbl(fid integer PRIMARY KEY AUTOINCREMENT, fvarchar20 varchar(20), fblob blob)" dim api as SQLite3MBS = con.NativeAPI dim DataType as string, CollationSequence as string, NotNull as boolean, PrimaryKey as boolean, AutoIncrement as Boolean dim e as integer = api.TableColumnMetaData(con, "", "test_tbl", "fid", DataType, CollationSequence, NotNull, PrimaryKey, AutoIncrement) if e = api.kErrorOk then dim a as string dim p as string dim n as string if AutoIncrement then a = "is auto incrementing." else a = "is not auto incrementing." end if if NotNull then n = "is not null" else n = "can be null" end if if PrimaryKey then p = "is primary key" else p = "is not a primary key" end if MsgBox "FID field has data type "+DataType+", Collation Sequence "+CollationSequence+", "+n+", "+p+" and "+a end if // Disconnect is optional // autodisconnect will ocur in destructor if needed con.Disconnect 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
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:

Feedback, Comments & Corrections

The items on this page are in the following plugins: MBS SQL Plugin.




Links
MBS Xojo Plugins