Example #1
0
        /// <summary>
        /// Rebuild the index from scratch
        /// </summary>
        /// <param name="baseDir">the root from which to list files from</param>
        /// <returns></returns>
        public bool RefreshIndex(String baseDir)
        {
            Console.WriteLine("Refreshing index");

            List <MyFile> fileList = Common.GetFilesRecursive(baseDir);

            DbTransaction transaction = dbConnection.BeginTransaction();

            DbCommand clearCommand = dbConnection.CreateCommand();

            clearCommand.CommandText = "delete from files";
            clearCommand.ExecuteNonQuery();

            foreach (MyFile file in fileList)
            {
                paramPath.Value     = file.name;
                paramType.Value     = file.type.ToString(); // to ensure it is stored as a char/string instead of a numeric value
                paramModtime.Value  = file.modtime;
                paramSize.Value     = file.size;
                paramChecksum.Value = file.checksum;
                commandInsertOrIgnore.ExecuteNonQuery();
            }

            transaction.Commit();

            return(true);
        }
Example #2
0
        protected void BeginTransaction()
        {
            ValidateConnection();

            m_oTransaction         = m_oConnection.BeginTransaction();
            m_oCommand.Transaction = m_oTransaction;

            return;
        }
        //---------------------------------------------------------------------------------------------------------------------------------------------------------
        public void BeginTransaction()
        {
            ValidateConnection();

            dbTransaction         = dbConnection.BeginTransaction();
            dbCommand.Transaction = dbTransaction;

            //				return;
        }
 /// <summary>
 /// Adds a long term login entry
 /// </summary>
 /// <returns>An awaitable task.</returns>
 /// <param name="record">The record to add.</param>
 public virtual Task AddOrUpdateLongTermLoginAsync(LongTermToken record)
 {
     return(m_lock.LockedAsync(() => {
         using (var con = new TransactionConnection(m_connection, m_connection.BeginTransaction()))
         {
             con.Delete <LongTermToken>(x => x.Series == record.Series);
             con.InsertItem(record);
             con.Commit();
         }
     }));
 }
Example #5
0
        /// <summary>
        /// 执行多条SQL语句,实现数据库事务。
        /// </summary>
        /// <param name="SQLStringList">多条SQL语句</param>
        public void ExecuteSqlTran(Dictionary <string, IDataParameter[]> pList, string strConnect, string dataType)
        {
            using (System.Data.IDbConnection iConn = this.GetConnection())
            {
                //iConn.Open();
                using (System.Data.IDbCommand iCmd = GetCommand())
                {
                    iCmd.Connection = iConn;
                    iConn.Open();
                    using (System.Data.IDbTransaction iDbTran = iConn.BeginTransaction())
                    {
                        iCmd.Transaction = iDbTran;
                        try
                        {
                            foreach (var item in pList)
                            {
                                iCmd.CommandText = item.Key;
                                if (item.Value != null)
                                {
                                    for (int i = 0; i < item.Value.Length; i++)
                                    {
                                        iCmd.Parameters.Add(item.Value[i]);
                                    }
                                }
                                try
                                {
                                    var cnt = iCmd.ExecuteNonQuery();
                                }
                                catch (Exception ex)
                                {
                                    throw;
                                }

                                iCmd.Parameters.Clear();
                            }
                            iDbTran.Commit();
                        }
                        catch (System.Exception E)
                        {
                            iDbTran.Rollback();
                            throw new Exception(E.Message);
                        }
                        finally
                        {
                            if (iConn.State != ConnectionState.Closed)
                            {
                                iConn.Close();
                            }
                        }
                    }
                }
            }
        }
Example #6
0
        /**/
        /// <summary>
        /// 执行SQL语句,返回影响的记录数 、用于增删改
        /// </summary>
        /// <param name="SQLString">SQL语句</param>
        /// <returns>影响的记录数</returns>
        public int ExecuteSql(string SqlString)
        {
            using (System.Data.IDbConnection iConn = this.GetConnection())
            {
                using (System.Data.IDbCommand iCmd = GetCommand(SqlString, iConn))
                {
                    iConn.Open();
                    try
                    {
                        int rows = iCmd.ExecuteNonQuery();
                        return(rows);
                    }
                    catch (System.Exception E)
                    {
                        throw new Exception(E.Message);
                    }
                    finally
                    {
                        if (iConn.State != ConnectionState.Closed)
                        {
                            iConn.Close();
                        }
                    }
                }
            }
        }

        /**/
        /// <summary>
        /// 执行多条SQL语句,实现数据库事务。
        /// </summary>
        /// <param name="SQLStringList">多条SQL语句</param>
        public int ExecuteSqlTran(ArrayList SQLStringList)
        {
            int i = 1;

            using (System.Data.IDbConnection iConn = this.GetConnection())
            {
                iConn.Open();
                using (System.Data.IDbCommand iCmd = GetCommand())
                {
                    iCmd.Connection = iConn;
                    using (System.Data.IDbTransaction iDbTran = iConn.BeginTransaction())
                    {
                        iCmd.Transaction = iDbTran;
                        try
                        {
                            for (int n = 0; n < SQLStringList.Count; n++)
                            {
                                string strsql = SQLStringList[n].ToString();
                                if (strsql.Trim().Length > 1)
                                {
                                    iCmd.CommandText = strsql;
                                    iCmd.ExecuteNonQuery();
                                }
                            }
                            iDbTran.Commit();
                        }
                        catch (System.Exception E)
                        {
                            iDbTran.Rollback();
                            i = -1;
                            return(i);

                            throw new Exception(E.Message);
                        }
                        finally
                        {
                            if (iConn.State != ConnectionState.Closed)
                            {
                                iConn.Close();
                            }
                        }
                        return(i);
                    }
                }
            }
        }
Example #7
0
        public void TestMethon3()
        {
            NewCity n = new NewCity()
            {
                CityID   = 1,
                CityName = "保定",
                NewName  = "新北京"
            };

            City c = new City();

            c = n;

            Console.WriteLine(c.CityName);

            //string _connectionString = "Data Source=.;Initial Catalog=SportsDB;Persist Security Info=True;User ID=sa;Password=11111111;Integrated Security=True";
            //System.Data.IDbConnection connection = new System.Data.SqlClient.SqlConnection(_connectionString);

            System.Data.IDbConnection connection = Comm.Helper.DapperHelper.Instance;
            connection.Open();
            System.Data.IDbTransaction transaction = connection.BeginTransaction();

            List <M_User> user = new List <M_User>()
            {
                new M_User()
                {
                    UserName = "******", Pwd = "111111"
                },
                new M_User()
                {
                    UserName = "******", Pwd = "11111111111111111111111111111111"
                },
            };

            try
            {
                connection.Insert <M_User>(user, transaction);
                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
            }
        }
        /**/
        /// <summary>
        /// 执行SQL语句,返回影响的记录数
        /// </summary>
        /// <param name="SQLString">SQL语句</param>
        /// <returns>影响的记录数</returns>
        public int ExecuteSql(string SQLString, params IDataParameter[] iParms)
        {
            using (System.Data.IDbConnection iConn = this.GetConnection())
            {
                System.Data.IDbCommand iCmd = GetCommand();
                {
                    try
                    {
                        PrepareCommand(out iCmd, iConn, null, SQLString, iParms);
                        int rows = iCmd.ExecuteNonQuery();
                        iCmd.Parameters.Clear();
                        return(rows);
                    }
                    catch (System.Exception E)
                    {
                        throw new Exception(E.Message);
                    }
                    finally
                    {
                        iCmd.Dispose();
                        if (iConn.State != ConnectionState.Closed)
                        {
                            iConn.Close();
                        }
                    }
                }
            }
        }

        /**/
        /// <summary>
        /// 执行多条SQL语句,实现数据库事务。
        /// </summary>
        /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[])</param>
        public int ExecuteSqlTran(Hashtable SQLStringList)
        {
            int i = 1;

            using (System.Data.IDbConnection iConn = this.GetConnection())
            {
                iConn.Open();
                using (IDbTransaction iTrans = iConn.BeginTransaction())
                {
                    System.Data.IDbCommand iCmd = GetCommand();
                    try
                    {
                        //循环
                        foreach (DictionaryEntry myDE in SQLStringList)
                        {
                            string           cmdText = myDE.Key.ToString();
                            IDataParameter[] iParms  = (IDataParameter[])myDE.Value;
                            PrepareCommand(out iCmd, iConn, iTrans, cmdText, iParms);
                            int val = iCmd.ExecuteNonQuery();
                            iCmd.Parameters.Clear();
                        }
                        iTrans.Commit();
                    }
                    catch
                    {
                        iTrans.Rollback();
                        i = -1;
                        throw;
                    }
                    finally
                    {
                        iCmd.Dispose();
                        if (iConn.State != ConnectionState.Closed)
                        {
                            iConn.Close();
                        }
                    }
                    return(i);
                }
            }
        }
Example #9
0
        /// <summary>
        /// 执行多条SQL语句,实现数据库事务。
        /// </summary>
        /// <param name="SQLStringList">多条SQL语句</param>
        public void ExecuteSqlTran(List <string> list)
        {
            using (System.Data.IDbConnection iConn = this.GetConnection())
            {
                iConn.Open();
                using (System.Data.IDbCommand iCmd = GetCommand())
                {
                    iCmd.Connection = iConn;
                    using (System.Data.IDbTransaction iDbTran = iConn.BeginTransaction())
                    {
                        iCmd.Transaction = iDbTran;

                        try
                        {
                            for (int n = 0; n < list.Count; n++)
                            {
                                string strsql = list[n].ToString();
                                iCmd.CommandText = strsql;
                                iCmd.ExecuteNonQuery();
                            }
                            iDbTran.Commit();
                        }
                        catch (System.Exception E)
                        {
                            iDbTran.Rollback();
                            throw new Exception(E.Message);
                        }
                        finally
                        {
                            if (iConn.State != ConnectionState.Closed)
                            {
                                iConn.Close();
                            }
                        }
                    }
                }
            }
        }