事物處理方法

string qlcadd = "select A_AddMans,A_DriverImage,A_AddDates from QLCAdds where A_CardId='" + Gid + "'";
            DataTable dt = DBHelper.GetDataSet(qlcadd);
            byte[] pic = (byte[])dt.Rows[0]["A_DriverImage"];
            string stradd = "INSERT INTO 資格證審覈完成明細表 (申請編號, 駕駛員姓名, 身份證號, 證件歸屬區域, 證件住址, 現住址, 駕駛證號, 駕駛證辦理日期, 駕駛員照片, 性別, 申請經辦人, 申請日期, 備註,駕駛員手機, 審覈完成時間) values ('" + Gid + "','" + Label3.Text + "','" + Label4.Text + "','" + Label5.Text + "','" + Label6.Text + "','" + Label7.Text + "','" + Label8.Text + "','" + Label9.Text + "',@pic,'" + Label14.Text + "','" + dt.Rows[0]["A_AddMans"] + "','" + dt.Rows[0]["A_AddDates"] + "','" + TextBox1.Text + "','" + Label13.Text + "','" + DateTime.Now + "')";
            SqlParameter[] parameters = {
      new SqlParameter("@pic",SqlDbType.Binary)};
            parameters[0].Value = pic;
           
            string str = "update 出租管理處意見明細表 set 落實狀態='" + DropDownList2.SelectedValue + "',經辦日期='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "' where 意見項目='" + Label11.Text + "' and 審覈資格證編號='" + Gid + "'";
            string strdelete = "delete from QLCAdds where A_CardId='" + Gid + "'";
            string[] arrsql = new string[3];
            arrsql[0] = stradd;
            arrsql[1] = str;
            arrsql[2] = strdelete;
            DBHelper.GetTransaction(arrsql,parameters);

 

 

 /// <summary>
        /// 事務處理
        /// </summary>
        /// <param name="sql">SQL語句數組</param>
        /// <returns>執行成功返回1失敗返回0</returns>
        public static int GetTransaction(string[] sql)
        {
            string SQLString = "";
            SqlCommand tran_cmd = new SqlCommand(SQLString, connection);

            try
            {
                tran_cmd.Transaction = Connection.BeginTransaction();
                for (int i = 0; i < sql.Length; i++)
                {
                    tran_cmd.CommandText = sql[i];
                    tran_cmd.CommandType = CommandType.Text;
                    tran_cmd.ExecuteNonQuery();

                }
                //提交事務
                tran_cmd.Transaction.Commit();
                return 1;

            }
            catch
            {
                //回滾事務
                tran_cmd.Transaction.Rollback();
                throw;
            }

        }

        /// <summary>
        /// 事務處理
        /// </summary>
        /// <param name="sql">SQL語句數組</param>
        /// <returns>執行成功返回1失敗返回0</returns>
        public static int GetTransaction(string[] sql, params SqlParameter[] cmdParms)
        {
            string SQLString = "";
            SqlCommand tran_cmd = new SqlCommand(SQLString, connection);

            try
            {
                tran_cmd.Transaction = Connection.BeginTransaction();
                tran_cmd.CommandText = sql[0];
                tran_cmd.CommandType = CommandType.Text;
                tran_cmd.Parameters.AddRange(cmdParms);
                tran_cmd.ExecuteNonQuery();
                tran_cmd.Parameters.Clear();
                for (int i = 1; i < sql.Length; i++)
                {
                    tran_cmd.CommandText = sql[i];
                    tran_cmd.CommandType = CommandType.Text;
                    tran_cmd.ExecuteNonQuery();

                }
                //提交事務
                tran_cmd.Transaction.Commit();
                return 1;

            }
            catch
            {
                //回滾事務
                tran_cmd.Transaction.Rollback();
                throw;
            }

        }

 

 string stradd = "insert into dbo.資格證審覈完成明細表( 申請編號, 駕駛員姓名, 身份證號, 證件歸屬區域, 證件住址, 現住址, 駕駛證號, 駕駛證辦理日期, 駕駛員照片, 性別, 申請經辦人, 申請日期, 駕駛員手機, 備註, 審覈完成時間)(SELECT  A_CardId, A_DriverName, A_IdCard, A_IdCardAbout, A_IdCardAddress, A_DriverAddress, A_DriverCarId, A_DriverCarIdDate, A_DriverImage, A_DriverSex, A_AddMans, A_AddDates, A_DriverPhone,'"+TextBox1.Text+"','"+DateTime.Now.ToString()+"' FROM    dbo.QLCAdds where A_CardId='" + Gid + "')";

 

發佈了8 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章