コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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;
            }
        }
コード例 #4
0
 public void CommitTransaction()
 {
     _databaseConnection.CommitTransaction();
 }