Xojo Conferences
MBSSep2018MunichDE
XDCMay2019MiamiUSA

Platforms to show: All Mac Windows Linux Cross-Platform

/SQL/SQLDatabaseMBS SQLite Blob test
Function:
Required plugins for this example: MBS Main Plugin, MBS SQL Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /SQL/SQLDatabaseMBS SQLite Blob test
This example is the version from Sun, 20th Aug 2016.
Project "SQLDatabaseMBS SQLite Blob test.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 db as new SQLDatabaseMBS // where is the library? 'db.Option(SQLConnectionMBS.kOptionLibrarySQLite) = "/usr/lib/libsqlite3.0.dylib" // connect to database // in this example it is SQLite, // but can also be Sybase, Oracle, Informix, DB2, SQLServer, InterBase, MySQL, SQLBase and ODBC 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 db.DatabaseName = "sqlite:"+path if db.Connect then 'MsgBox "We are connected!" // create table db.SQLExecute "Create table if not exists BlobTest(ID integer PRIMARY KEY AUTOINCREMENT, name varchar(20), image blob)" if db.Error then MsgBox "Error: "+db.ErrorMessage Return end if // insert blob dim pic as Picture = LogoMBS dim jpegData as string = pic.GetData(Picture.FormatJPEG, 80) dim sql as string = "Insert into BlobTest(name, image) values (:name, :image)" dim p as SQLPreparedStatementMBS = db.Prepare(sql) p.Bind("name", "logo.jpg") p.Bind("image", jpegData) p.BindType("name", p.kTypeString) p.BindType("image", p.kTypeBlob) p.SQLExecute if db.Error then MsgBox "Error: "+db.ErrorMessage Return else 'MsgBox "Saved" end if jpegData = "" // query dim r as RecordSet = db.SQLSelect("SELECT * FROM BlobTest") if db.Error then MsgBox "Error: "+db.ErrorMessage Return end if while not r.EOF dim Data as string = r.Field("image").StringValue dim name as string = r.Field("name").StringValue dim ID as string = r.Field("id").StringValue dim w as new PicWindow w.Backdrop = picture.FromData(data) w.Title = name+" "+ID w.show r.MoveNext wend end if End EventHandler
End Class
Class PicWindow 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 FileMaker blog