protected bool TableExists(IDatabaseConnection db, string name) { db.BeginTransaction(ReadTransactionMode); try { var retval = false; using (var statement = PrepareStatement(db, "select DISTINCT tbl_name from sqlite_master".AsSpan())) { foreach (var row in statement.ExecuteQuery()) { if (string.Equals(name, row.GetString(0), StringComparison.OrdinalIgnoreCase)) { retval = true; break; } } } db.CommitTransaction(); return(retval); } catch (Exception) { db.RollbackTransaction(); throw; } }
public static void RunQueries(this IDatabaseConnection db, string[] queries) { db.BeginTransaction(TransactionMode.Deferred); try { db.ExecuteAll(string.Join(";", queries)); db.CommitTransaction(); } catch (Exception) { db.RollbackTransaction(); throw; } }
protected bool TableExists(IDatabaseConnection db, string name) { db.BeginTransaction(ReadTransactionMode); try { var retval = TableExistsInTransaction(db, name); db.CommitTransaction(); return(retval); } catch (Exception) { db.RollbackTransaction(); throw; } }
public void CommitTransaction() { _databaseConnection.CommitTransaction(); }