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/SQLite Table Definition
This example is the version from Sat, 27th Sep 2019.
Project "SQLite Table Definition.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 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 DataType As String, CollationSequence As String, NotNull As Boolean, PrimaryKey As Boolean, AutoIncrement As Boolean
Dim e As Integer = con.SQLiteTableColumnMetaData("", "test_tbl", "fid", DataType, CollationSequence, NotNull, PrimaryKey, AutoIncrement)
if e = 0 then // ErrorOK
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:
- /SQL/SQLite Backup
- /SQL/SQLite Connect
- /SQL/SQLite ExecuteSQL with Parameters
- /SQL/SQLite Fetch values
- /SQL/SQLite Fetch values with Recordset
- /SQL/SQLite Fetch values with RowSet
- /SQL/SQLite Internal Library Compiler Options
- /SQL/SQLite Version with sqlcipher
- /SQL/SQLite with ICU
- /SQL/SQLite Write blob to file
The items on this page are in the following plugins: MBS SQL Plugin.