Difference between revisions of "SQLiteBackupInterface"
From Xojo Documentation
Line 22: | Line 22: | ||
Backing up the database asynchronously requires the use of a separate class that implements SQLiteBackupInterface. | Backing up the database asynchronously requires the use of a separate class that implements SQLiteBackupInterface. | ||
<rbcode> | <rbcode> | ||
− | + | Var backupFile As Folderitem | |
− | backupFile = | + | backupFile = FolderItem.ShowSaveFileDialog("", "backup.sqlite") |
If backupFile Is Nil Then Return | If backupFile Is Nil Then Return | ||
Line 44: | Line 44: | ||
Complete: | Complete: | ||
<rbcode> | <rbcode> | ||
− | + | MessageBox("Backup Complete.") | |
</rbcode> | </rbcode> | ||
Error: | Error: | ||
<rbcode> | <rbcode> | ||
− | + | MessageBox("There was an error during the backup: " + Str(errorCode)) | |
</rbcode> | </rbcode> | ||
Revision as of 00:17, 29 August 2019
Interface
Used to get progress and status of SQLiteDatabase backups.
Methods | |||
|
Notes
This interface is used when you want to track the progress of an asynchronous backup of a SQLiteDatabase using SQLiteDatabase.Backup.
You create a class that implements this interface and then add code to the methods. The methods are called as the backup progresses.
The class must remain in scope while the backup is running.
Sample Code
Backing up the database asynchronously requires the use of a separate class that implements SQLiteBackupInterface.
Var backupFile As Folderitem
backupFile = FolderItem.ShowSaveFileDialog("", "backup.sqlite")
If backupFile Is Nil Then Return
// This is a property on the Window so that it stays in scope when the method exits
mBackupDB = New SQLiteDatabase
mBackupDB.DatabaseFile = backupFile
If mBackupDB.CreateDatabaseFile Then
// This is a property on the Window so that it stays in scope when the method exits
mBackupHandler = New BackupHandler
// The window has a progress bar that is updated as the backup progresses
mBackupHandler.BackupProgressBar = BackupProgress
mDB.BackUp(mBackupDB, mBackupHandler)
End If
backupFile = FolderItem.ShowSaveFileDialog("", "backup.sqlite")
If backupFile Is Nil Then Return
// This is a property on the Window so that it stays in scope when the method exits
mBackupDB = New SQLiteDatabase
mBackupDB.DatabaseFile = backupFile
If mBackupDB.CreateDatabaseFile Then
// This is a property on the Window so that it stays in scope when the method exits
mBackupHandler = New BackupHandler
// The window has a progress bar that is updated as the backup progresses
mBackupHandler.BackupProgressBar = BackupProgress
mDB.BackUp(mBackupDB, mBackupHandler)
End If
A class called BackupHandler implements SQLiteBackupInterface and has code in these methods:
Complete:
MessageBox("Backup Complete.")
Error:
MessageBox("There was an error during the backup: " + Str(errorCode))
Progress:
If BackupProgressBar <> Nil Then
BackupProgressBar.Maximum = 100
BackupProgressBar.Visible = True
BackupProgressBar.Value = percent*100
End If
BackupProgressBar.Maximum = 100
BackupProgressBar.Visible = True
BackupProgressBar.Value = percent*100
End If
In addition, it has a public property for the progress bar:
BackupProgressBar As ProgressBar
Example Project
/Example Projects/Database/SQLite/SQLiteBackup