public void Run() { accessorFrom = new SqliteAccessor { DataSource = DataSourceFrom, Password = PasswordFrom }; accessorFrom.Open(); accessorTo = new SqliteAccessor { DataSource = DataSourceTo, Password = PasswordTo }; accessorTo.Open(); FetchTables(); tables.ForEach(t => { CreateTable(t.Sql); if (t.HasBlob) { TransferBlob(t); } else { TransferNoBlob(t); } }); accessorFrom.Close(); accessorTo.Close(); }
public static void Register( bool insert, string key, string value, List <object> tags ) { using var accessor = new SqliteAccessor { DataSource = AppBehind.Get.DBFilePath, Password = AppBehind.Get.Password, QueryString = insert ? INSERT : UPDATE }; accessor.Open(); var transaction = accessor.Begin(); try { var command = accessor.CreateCommand(); command.Parameters.AddWithValue(@"@key", key); command.Parameters.AddWithValue(@"@value", value); accessor.Execute(command); StringTags.Register(accessor, key, tags); transaction.Commit(); } catch (Exception) { transaction.Rollback(); throw; } }
public void Test1() { var sa = new SqliteAccessor(); var sql = "select sqlite_version()"; var result = sa.ExecuteQuery(sql); result.Count.IsNot(0); }
public void AddPage(SqliteAccessor accessor) { var addPage = new QueryResultView(); addPage.Init(); addPage.Show(accessor); Pager.AddPage(@"Query " + (Pager.PagesCount + 1), addPage); }
protected bool TableExists() { using var accessor = new SqliteAccessor { DataSource = AppBehind.Get.DBFilePath, Password = AppBehind.Get.Password, QueryString = GetQueryTableExists() }; accessor.Open(); return(0 < (long)accessor.ExecuteScalar(accessor.CreateCommand())); }
protected void CreateTable() { using var accessor = new SqliteAccessor { DataSource = AppBehind.Get.DBFilePath, Password = AppBehind.Get.Password, QueryString = GetQueryCreateTable() }; accessor.Open(); accessor.Execute(accessor.CreateCommand()); }
public static void Retrieve(string key, FileStream outputStream) { using var accessor = new SqliteAccessor { DataSource = AppBehind.Get.DBFilePath, Password = AppBehind.Get.Password, QueryString = SELECT_BLOB_WITH_KEY }; accessor.Open(); var command = accessor.CreateCommand(); command.Parameters.AddWithValue(@"@key", key); accessor.RetrieveBlob(command, outputStream, 0); }
protected List <List <object> > Query(string query, Dictionary <string, string> parameters) { using var accessor = new SqliteAccessor { DataSource = AppBehind.Get.DBFilePath, Password = AppBehind.Get.Password, QueryString = query }; accessor.Open(); var command = accessor.CreateCommand(); parameters.ToList().ForEach(p => { command.Parameters.AddWithValue(p.Key, p.Value); }); accessor.Execute(command); return(CloneQueryResult(accessor.QueryResult)); }
public static void Register(SqliteAccessor accessor, string key, List <object> tags) { accessor.QueryString = DELETE; var command = accessor.CreateCommand(); command.Parameters.AddWithValue(@"@key", key); accessor.Execute(command); accessor.QueryString = INSERT; command = accessor.CreateCommand(); for (var i = 0; tags.Count > i; ++i) { command.Parameters.Clear(); command.Parameters.AddWithValue(@"@key", key); command.Parameters.AddWithValue(@"@tag", tags[i].ToString()); accessor.Execute(command); } }
public static void Register(bool insert, string newTag, string oldTag) { using var accessor = new SqliteAccessor { DataSource = AppBehind.Get.DBFilePath, Password = AppBehind.Get.Password, QueryString = insert ? INSERT : UPDATE }; accessor.Open(); var command = accessor.CreateCommand(); command.Parameters.AddWithValue(@"@tag", newTag); if (!insert) { command.Parameters.AddWithValue(@"@oldTag", oldTag); } accessor.Execute(command); }
public static void InitializeSetting() { if (db.HasTable("setting")) { return; } var record = new Setting { RdpOption = new RdpOption(), }; var sql = SqliteAccessor.GetCreateTableSQL("setting", record); db.ExecuteNonQuery(sql); db.ToDictionary(record, out var dic); db.Upsert("setting", dic); }
public static void InitializeAccount() { if (db.HasTable("account")) { return; } var record = new Account { Name = @"administrator", Password = @"password", }; var sql = SqliteAccessor.GetCreateTableSQL("account", record); db.ExecuteNonQuery(sql); db.ToDictionary(record, out var dic); db.Upsert("account", dic); }
public void Show(SqliteAccessor accessor) { if (0 == accessor.QueryResultAttributes.Count || 0 == accessor.QueryResult.Count) { return; } accessor.QueryResultAttributes.ForEach(a => dataGridOperator.AddColumn(a.Item1, a.Item1)); dataGridOperator.CreateColumns(); accessor.QueryResult.ForEach(row => { var addRow = new RowEntity(); for (var i = 0; accessor.QueryResultAttributes.Count > i; ++i) { addRow.TrySetMember(accessor.QueryResultAttributes[i].Item1, accessor.IsBlobColumn(accessor.QueryResultAttributes, i) ? @"[Blob data]" : row[i]); } dataGridOperator.AddRow(addRow); }); dataGridOperator.Refresh(); }
public static void InitializeEnvironment() { if (db.HasTable("environment")) { return; } var accounts = (IEnumerable <Account>)SelectAccounts(); var record = new Environment { HostName = @"localhost", ConnectionAddress = @"127.0.0.1", OsType = OperatingSystemType.Windows, AccountGuid = accounts.First().Guid, }; var sql = SqliteAccessor.GetCreateTableSQL("environment", record); db.ExecuteNonQuery(sql); db.ToDictionary(record, out var dic); db.Upsert("environment", dic); }
private void PerformQueryWholeTable(string tableName) { if (string.IsNullOrEmpty(tableName)) { return; } var tableInfo = new Schema().QueryTableInfo(tableName); if (0 == tableInfo.Count) { return; } var query = @" SELECT " + '\n'; query += tableInfo .Select((row, index) => new { index, columnName = row[1] }) .Aggregate(@"", (ret, item) => 0 == item.index ? ret + @" " + item.columnName + @" " + '\n' : ret + @" , " + item.columnName + @" " + '\n'); query += @" FROM " + '\n'; query += @" " + tableName + @" " + '\n'; var accessor = new SqliteAccessor { DataSource = AppBehind.Get.DBFilePath, Password = AppBehind.Get.Password, QueryString = query }; accessor.Open(); accessor.Execute(accessor.CreateCommand()); accessor.Close(); AppBehind.Get.SetQueryString(query); AppBehind.Get.AddPage(accessor); }
public static void Register( bool insert, string key, string filePath, string fileName, List <object> tags ) { using var accessor = new SqliteAccessor { DataSource = AppBehind.Get.DBFilePath, Password = AppBehind.Get.Password, QueryString = insert ? INSERT : UPDATE }; accessor.Open(); var transaction = accessor.Begin(); try { var command = accessor.CreateCommand(); command.Parameters.AddWithValue(@"@key", key); command.Parameters.AddWithValue(@"@fileName", fileName); command.Parameters.AddWithValue(@"@length", new FileInfo(filePath).Length); using var inputStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); accessor.WriteBlob( inputStream, @"BINARY_STORAGE", @"VALUE", (long)accessor.ExecuteScalar(command) ); BinaryTags.Register(accessor, key, tags); transaction.Commit(); } catch (Exception) { transaction.Rollback(); throw; } }
public QueryChunk() { accessor = new SqliteAccessor { DataSource = AppBehind.Get.DBFilePath, Password = AppBehind.Get.Password }; }