110,895
社区成员
发帖
与我相关
我的任务
分享
public void shuju()
{
using (SqlConnection conn = new SqlConnection(lianjie.sqcon))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
int hangs = int.Parse(hangshu);
//销售出库表单
string xsckd2 = "insert into ERP_XSCKD (jbrj,danhj,kdsjj,xsmdj,bmbmj,xsckj,ckbmj,jinej,bdlxj,bdlxbmj,jbrghj) values ('" + denglu.name + "','" + shouyin.danhao + "',CONVERT(varchar(100), GETDATE(), 120),'" + xsmd + "','" + bmbm + "','" + cangkuming + "','" + cangkubianhao + "','0','销售出库单','300116','" + denglu.account + "')";
cmd.CommandText = xsckd2;
cmd.ExecuteNonQuery();
for (int i = 0; i < hangs; i++)
{
//----------------------------------------------------------【销售单、销售支付信息表和销售明细单】-----------------------------------------------------------------------------------
#region//销售出库表单
if (i == 0)
{
#region//销售支付信息表
//销售支付信息表
for (int j = 0; j < dataGridView1.RowCount; j++)
{
string XSZF = "insert into ERP_XSZF (danhj,xsckmxidj,zffsj,zffsbmj,zfjej) values ('" + shouyin.danhao + "','xsckmxid','" + dataGridView1.Rows[j].Cells[0].Value + "','" + dataGridView1.Rows[j].Cells[4].Value + "','" + dataGridView1.Rows[j].Cells[3].Value + "')";
cmd.CommandText = XSZF;
cmd.ExecuteNonQuery();
}
#endregion
}
#endregion
#region//销售出库明细表
string xsckd3 = "insert into ERP_XSCKMX (danhj,spmcj,sptmj,shulj,xfjej,cpbjj,xfzkj,hykj,kykdjj,hykdedmj,kdsjj,xsmdj,bmbmj,xsckj,ckbmj) values ('" + shouyin.danhao + "','" + ListP[i].Name.Trim() + "','" + ListP[i].Code.Trim() + "','" + ListP[i].Amount.Trim() + "','" + ListP[i].shifu.Trim() + "','" + ListP[i].yuanjia.Trim() + "','" + ListP[i].Discount.Trim() + "','" + huiyuan.hyk + "','" + huiyuan.kykdj + "','" + huiyuan.hykdedm + "',CONVERT(varchar(100), GETDATE(), 120),'" + xsmd + "','" + bmbm + "','" + cangkuming + "','" + cangkubianhao + "')";
cmd.CommandText = xsckd3;
cmd.ExecuteNonQuery();
#endregion
}
tx.Commit();
done = true;
}
catch (Exception ex)
{
tx.Rollback();
done = false;
throw new Exception(ex.ToString());
}
}
}
String ConnStr = "Data Source=.\\SQLEXPRESS;Database=DB;User ID=sa;Password=***"; //宣告_ConnStr為字串
//C# SQLtransaction的使用方法
//步驟1:引用[System.Data.SqlClient],在C#中想對資料庫存取都要用到這個class,所以請記得Using
//using System.Data.SqlClient
//步驟2: 建立SqlConnection,SqlCommand,SqlTransaction
//建立資料庫的連線
//(connstr為連線的字串,可以使用web.config中的connectionstring Tag設定)
SqlConnection conn = new SqlConnection(ConnStr);
//建立第一個cmd物件,用以執行SQL的指令
//(sqlstr為SQL語法,EX:select getdate(),conn為剛建立的資料庫連線物件)
SqlCommand cmd = new SqlCommand(@"INSERT INTO TableName( USER_001,USER_002,USER_003) VALUES ('test111','test111','test111') ", conn);
//建立第二個cmd物件,用以執行SQL的指令
//(sqlstr1為另一個SQL語法,EX:select getdate(),conn為剛建立的資料庫連線物件)
SqlCommand cmd1 = new SqlCommand(@"INSERT INTO TableName( USER_001,USER_002) VALUES ('test111','test111') ", conn);
//開始和DB做連線
conn.Open();
//建立交易物件
SqlTransaction trans1 = conn.BeginTransaction("trans1");
//從此行開始使用conn
using (conn)
{
try
{
cmd.Transaction = trans1; //指定cmd透過trans1做交易
cmd1.Transaction = trans1; //指定cmd1透過trans1做交易
cmd.ExecuteNonQuery();
cmd1.ExecuteNonQuery();
trans1.Commit(); //完成交易
}
catch (SqlException ex)
{
trans1.Rollback(); //取消交易
MessageBox.Show(ex.ToString());
}
finally
{
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(@"Select * from TableName", conn);
adapter.Fill(dt);
dataGridView1.DataSource = dt;
}
}// 從此行會dispose conn