using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using SqliteDotNet; namespace MgTestAdmin { public partial class DbControl : UserControl { private DbControl() { InitializeComponent(); this.Disposed += DbControl_Disposed; } public DbControl(string name) : this() { tslName.Text = name; } private void DbControl_Disposed(object sender, EventArgs e) { _db?.Close(); _db = null; } private SqliteDb _db; public void Setup(SqliteDb db, OperationProviderService opService) { _db = db; testManagerControl.Setup(db); parameterSetManager.Setup(db, false, opService); dbTree.BeginUpdate(); // Clear the TreeView each time the method is called. dbTree.Nodes.Clear(); TreeNode databaseNode = new TreeNode("Tables"); var tables = _db.GetTables(); foreach (var t in tables) { databaseNode.Nodes.Add(t); } dbTree.Nodes.Add(databaseNode); dbTree.EndUpdate(); } private void btnExportDump_Click(object sender, EventArgs e) { saveFileDialog.Filter = "SQLite dump (*.dump)|*.dump"; saveFileDialog.RestoreDirectory = true; if (saveFileDialog.ShowDialog() == DialogResult.OK) { var dumpFile = saveFileDialog.FileName; _db.GenerateDump(dumpFile); MessageBox.Show("Dump file generated at: " + dumpFile); } } } }