Пример #1
0
 /// <summary>
 /// 执行SQL语句操作(Update,Delete,Insert),返回受影响的行数
 /// </summary>
 /// <param name="sql">SQL语句</param>
 /// <param name="parms">参数集合</param>
 /// <returns>受影响的行数</returns>
 public int ExectueNonQueryBySql(string sql, SqlParameter[] parms = null)
 {
     try
     {
         if (SqlCon.State != ConnectionState.Open)
         {
             SqlCon.Open();
         }
         SqlCmd             = SqlTransactionFlag ? new SqlCommand(sql, SqlCon, SqlTran) : new SqlCommand(sql, SqlCon);
         SqlCmd.CommandType = CommandType.Text;
         if (parms != null)
         {
             AddParameters(parms);
         }
         return(SqlCmd.ExecuteNonQuery());
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         SqlCmd.Dispose();
         if (!SqlTransactionFlag)
         {
             SqlCon.Close();
             SqlCon.Dispose();
         }
     }
 }
Пример #2
0
        /// <summary>
        /// 执行查询存储过程,返回DataSet
        /// </summary>
        /// <param name="procName">存储过程名称</param>
        /// <param name="parms">参数集合</param>
        /// <returns>返回DataSet</returns>
        public DataSet ExecuteQuery_DS(string procName, SqlParameter[] parms = null)
        {
            SqlDataAdapter da = new SqlDataAdapter();

            try
            {
                DataSet ds = new DataSet();
                if (SqlCon.State != ConnectionState.Open)
                {
                    SqlCon.Open();
                }
                SqlCmd             = SqlTransactionFlag ? new SqlCommand(procName, SqlCon, SqlTran) : new SqlCommand(procName, SqlCon);
                SqlCmd.CommandType = CommandType.StoredProcedure;
                if (parms != null)
                {
                    AddParameters(parms);
                }
                da.SelectCommand = SqlCmd;
                da.Fill(ds);
                return(ds);
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            finally
            {
                da.Dispose();
                SqlCmd.Dispose();
                if (!SqlTransactionFlag)
                {
                    SqlCon.Close();
                    SqlCon.Dispose();
                }
            }
        }
Пример #3
0
        internal void Upgrade()
        {
            System.Version version = new Version("1.0.0");

            try
            {
                OleDbCommand    cmd    = new OleDbCommand("select * from DbInfo", dbconn);
                OleDbDataReader reader = cmd.ExecuteReader(System.Data.CommandBehavior.Default);

                while (reader.Read())
                {
                    if (reader.GetString(reader.GetOrdinal("KeyName")) == "Version")
                    {
                        version = new Version(reader.GetString(reader.GetOrdinal("KeyValue")));
                    }
                }
                //version = new Version("1.1.0");
                reader.Close();
            }
            catch (OleDbException exc)
            {
                // Older version than 1.1
                if (exc.Message.IndexOf("cannot find the input table") == -1)
                {
                    Trace.WriteLine("Ops, unknown OleDbException while checking for db upgrade:\r\n" +
                                    exc.ToString());
                }
            }

            if (version < new Version("1.1.0"))
            {
                UpgradeVersion1_1();
            }

            if (version < new Version("1.2.0"))
            {
                UpgradeVersion1_2();
            }


            if (version < new Version("1.4.0"))
            {
                UpgradeVersion1_4();
            }

            if (version < new Version("1.5.6"))
            {
                UpgradeVersion1_5_6();
            }

            if (version < new Version("1.6.0"))
            {
                UpgradeVersion1_6_0();
            }

            if (version < new Version("1.6.2"))
            {
                UpgradeVersion1_6_2();
            }

            // Finished upgrading database
            OleDbCommand SqlCmd = null;

            try
            {
                if (new Version(CDatabase.CurrentDbVersion) > version)
                {
                    SqlCmd = new OleDbCommand(
                        "update DbInfo set KeyValue='" +
                        CDatabase.CurrentDbVersion +
                        "' where KeyName='Version'",
                        dbconn);
                    int nrAffected = SqlCmd.ExecuteNonQuery();
                    if (nrAffected == 0)
                    {
                        SqlCmd = new OleDbCommand(
                            "insert into DbInfo (KeyName, KeyValue) values ('Version', '" +
                            CDatabase.CurrentDbVersion + "')",
                            dbconn);
                        nrAffected = SqlCmd.ExecuteNonQuery();
                        SqlCmd.Dispose();
                    }
                }
            }
            catch (Exception exc)
            {
                Trace.WriteLine("Exception while updating/inserting the version value of the DbInfo table:" +
                                exc.ToString());
                throw;
            }
            finally
            {
                if (SqlCmd != null)
                {
                    SqlCmd.Dispose();
                }
            }
        }
Пример #4
0
 public void CloseCon()
 {
     SqlCon.Close();
     SqlCon.Dispose();
     SqlCmd.Dispose();
 }