C#の
空InsertMultiBoardBarcodeRecプライベート()
{//データのリストが空にすることはできません決定.....
IF(dataGridView1.RowCount == 0)
{
MessageBox.Show(「リストが空の印刷、お問い合わせくださいパズルSN ...」、 "プロンプトウィンドウ...「);
リターン;
}
一覧<Models.MultiBoardBarCoeRec> listPrintLists =新しいリスト<Models.MultiBoardBarCoeRec>();
//获取列表数添加到listPrintLists集合...
//获取服务器时间
Models.GetSQLServerNowTime getSQLServerNowTime =新しいModels.GetSQLServerNowTime()。
getSQLServerNowTime = DalGetSQLServerNowTime.SQLServerNowTime(getSQLServerNowTime)。
文字列ダ= getSQLServerNowTime.NowTime。
foreachの(DataGridViewRow DGR dataGridView1.Rowsで)
{
IF(dgr.Cells [4] .Valueの== NULL)
{
ブレーク。
}
listPrintLists.Add(新しい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)。
}
公共 BOOL MultiBoardBarCoeRec(一覧<Models.MultiBoardBarCoeRec> objBoardBarCoeRec) { // 文字列[] = {AA "AA"、 "BB"、 "CC"}; // 複数のSQL文を保持するためのリストのセットを定義 リスト< 文字列 > = sqlList 新しい新しいリスト< 文字列 > (); // sqlList.Add(AA [0] .ToString()); // sqlList.Add(AA .ToString()[1]); のため(int型 I = 0 ; I <objBoardBarCoeRec.Count; I ++ ) { 文字列 sqlstr = "インサートMultiBoardBarCodeRec(WONO、ProductGroupID、FirstMBBC、EndMBBC、OutputDate、WorkerID)" ; sqlStr + = " の値({0}、{1}、{2}、{3}、{4 }」、 '{5}')" ; sqlStr = ストリング.Format(sqlStr、objBoardBarCoeRec [I] .WONO、objBoardBarCoeRec [I] .ProductGroupID、objBoardBarCoeRec [I] .FirstMBBC、 objBoardBarCoeRec [I] .EndMBBC、objBoardBarCoeRec [I ] .OutputDate、I); sqlList.Add(sqlStr.ToString()); } 戻りSQLHelper.UpdateByTran(sqlList); }
/// <要約> /// 有効トランザクション複数のSQL文を提出する /// </要約> /// ます。<param name = "sqlList"> SQL文のコレクション</ param>の /// <リターンA> リターンBOOLタイプ、トランザクションの成功の代表が行っ</戻り値> パブリック 静的 BOOL UpdateByTran(一覧< 文字列 > sqlList) { SqlConnectionのコン = 新しい新; SqlConnectionオブジェクト(CONNSTRING) SqlCommandオブジェクトCMD = 新しい新しいSqlCommandオブジェクト(); cmd.Connection = コネティカットを、 試して { conn.Open(); cmd.Transaction = conn.BeginTransaction(); // オープントランザクション // ループの実行SQL文 のforeach(VAR itemSql でsqlList) { cmd.CommandText = itemSql; cmd.ExecuteNonQuery(); } cmd.Transaction.Commit(); / / トランザクション(実際のデータがデータベースから改変)コミット リターン trueに; } キャッチ(例外EX) { IF(cmd.Transaction!= NULL )を cmd.Transaction.Rollback(); // ロールバックトランザクション(「通常業務」元に戻すリターン) スロー 新新(例外「エラーがトランザクションメソッドを呼び出す表示されます:」 + ex.Message); スロー; } 最後に { IF(cmd.Transaction != NULL ) { cmd.Transaction = NULL ; // クリアトランザクション } はconn.close(); } }