Example: /SQL/SQLite Backup

Online Documentation   -   Statistics   -   FAQ   -   Plugin Parts (All, Dependencies)   -   Class hierarchy

New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1

The list of the   topics,   classes,   interfaces,   controls,   modules,   global methods by category,   global methods by name,   screenshots,   licenses   and   examples.

Platforms to show: All Mac Windows Linux Cross-Platform

/SQL/SQLite Backup


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 Backup

This example is the version from Sat, 27th Sep 2019.

Project "SQLite Backup.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 SQLConnectionMBS dim cmd as SQLCommandMBS dim conBackup as SQLConnectionMBS try con = new SQLConnectionMBS // connection object cmd = new SQLCommandMBS // create command object conBackup = new SQLConnectionMBS // connection object // where is the library? 'con.Option(con.kOptionLibrarySQLite) = "/usr/lib/libsqlite3.0.dylib" 'conBackup.Option(con.kOptionLibrarySQLite) = "/usr/lib/libsqlite3.0.dylib" // connect to database dim path as string if TargetMacOS then path = "/tmp/test2.db" // put the database in the temporary folder else path = "test2.db" // for Windows and Linux in the current folder the application is inside. end if con.Connect(path,"","",SQLConnectionMBS.kSQLiteClient) // associate a command with connection // connection can also be specified in SACommand constructor cmd.Connection=con // create table cmd.setCommandText("Create table test_tbl(fid integer, fvarchar20 varchar(20), fblob blob)") cmd.Execute // insert value cmd.setCommandText("Insert into test_tbl(fid, fvarchar20) values (1, 'Some string (1)')") cmd.Execute // commit changes on success con.Commit MsgBox("Table created, row inserted!") // now do backup if TargetMacOS then path = "/tmp/testbackup.db" // put the database in the temporary folder else path = "testbackup.db" // for Windows and Linux in the current folder the application is inside. end if // connect to new database conBackup.Connect(path,"","",SQLConnectionMBS.kSQLiteClient) // run backup Dim b As SQLite3BackupMBS = con.SQLiteBackupInit(conBackup, "main", con, "main") if b<>nil then While con.SQLiteBackupStep(b, 100) = 0 // kErrorOk // show progress wend If con.SQLiteBackupFinish(B) = 0 Then MsgBox "backup okay" end if else MsgBox "Failed to start backup." end if 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.


💬 Ask a question or report a problem