您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

c# 多SQL条语句执行

bubuko 2022/1/25 20:04:21 dotnet 字数 7693 阅读 1469 来源 http://www.bubuko.com/infolist-5-1.html

C# private void InsertMultiBoardBarcodeRec() { //判断列表数据不能为空..... if (dataGridView1.RowCount==0) { MessageBox.Show("打印列表行为空,请获取拼板SN...", "提示窗口...."); r ...

C# 


private void InsertMultiBoardBarcodeRec()
{ //判断列表数据不能为空.....
if (dataGridView1.RowCount==0)
{
MessageBox.Show("打印列表行为空,请获取拼板SN...", "提示窗口....");
return;
}

List<Models.MultiBoardBarCoeRec> listPrintLists = new List<Models.MultiBoardBarCoeRec>();
//获取列表数添加到listPrintLists集合....
//获取服务器时间
Models.GetSQLServerNowTime getSQLServerNowTime = new Models.GetSQLServerNowTime();
getSQLServerNowTime = DalGetSQLServerNowTime.SQLServerNowTime(getSQLServerNowTime);
string da = getSQLServerNowTime.NowTime;
foreach (DataGridViewRow dgr in dataGridView1.Rows)
{
if (dgr.Cells[4].Value == null)
{
break;
}
listPrintLists.Add(new Models.MultiBoardBarCoeRec {
WONO = dgr.Cells[5].Value.ToString(),
ProductGroupID = ProductGroupID,
FirstMBBC = dgr.Cells[4].Value.ToString(),
EndMBBC = dgr.Cells[4].Value.ToString(),
OutputDate = da,
WorkerID=texWhoPrint.Text.Trim(),
});
}
DalProductInfo.MultiBoardBarCoeRec(listPrintLists);
//bool tkdo = DalProductInfo.MultiBoardBarCoeRec(barCoeRec);
}

 
        public bool MultiBoardBarCoeRec(List<Models.MultiBoardBarCoeRec>  objBoardBarCoeRec)
        {
            //string[] aa = { "aa","bb","cc" };       
          
            //定义一个List集合,用于保存多条SQL语句
            List<string> sqlList = new List<string>();
            //sqlList.Add(aa[0].ToString());
            //sqlList.Add(aa[1].ToString());

            for (int i = 0; i < objBoardBarCoeRec.Count; i++)
            {
                string sqlStr = "Insert MultiBoardBarCodeRec (WONO,ProductGroupID,FirstMBBC,EndMBBC,OutputDate,WorkerID) ";
                sqlStr += "Values(‘{0}‘,‘{1}‘,‘{2}‘,‘{3}‘,‘{4}‘,‘{5}‘)";
                sqlStr = string.Format(sqlStr, objBoardBarCoeRec[i].WONO, objBoardBarCoeRec[i].ProductGroupID, objBoardBarCoeRec[i].FirstMBBC, 
                objBoardBarCoeRec[i].EndMBBC, objBoardBarCoeRec[i].OutputDate, i);

                sqlList.Add(sqlStr.ToString());
            }
            return SQLHelper.UpdateByTran(sqlList);      
        }
    
 /// <summary>
        /// 启用事务同时提交多条SQL语句
        /// </summary>
        /// <param name="sqlList">sql语句集合</param>
        /// <returns>返回bool类型,代表事务执行是否成功</returns>
        public static bool UpdateByTran(List<string> sqlList)
        {
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            try
            {
                conn.Open();
                
                cmd.Transaction = conn.BeginTransaction();//开启事务
                //循环执行Sql语句
                foreach (var itemSql in sqlList)
                {
                    cmd.CommandText = itemSql;                 
                    cmd.ExecuteNonQuery();
                }
                cmd.Transaction.Commit();//提交事务(真正的从数据库中修改了数据)
                return true;
            }
            catch (Exception ex)
            {
                if (cmd.Transaction != null)
                    cmd.Transaction.Rollback();//回滚事务(返回撤消“正常的任务”)
                throw new Exception("调用事务方法出现错误:" + ex.Message);
                throw;
            }
            finally
            {
                if (cmd.Transaction != null)
                {
                    cmd.Transaction = null;//清空事务
                }
                conn.Close();
            }
        }

 

c# 多SQL条语句执行

原文:https://www.cnblogs.com/Striveyoungfellow/p/12526765.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶