两张表
订单表 和 订单明细表trans = conn.BeginTransaction();
try
{
添加订单表;
循环添加明细表; (在此处如何获取添加订单表的ID)
trans.commit();
}突然卡壳,请问各位有什么方法去获取
订单表 和 订单明细表trans = conn.BeginTransaction();
try
{
添加订单表;
循环添加明细表; (在此处如何获取添加订单表的ID)
trans.commit();
}突然卡壳,请问各位有什么方法去获取
trans.commit();
应该放到外面来再者,你如果卡壳了之后执行事务回滚的话
不会插入数据的
trans = conn.BeginTransaction();
try
{
添加订单表;
循环添加明细表; (在此处如何获取添加订单表的ID)
trans.commit();
}
catch
{
trans.transRollback();
MessageBox.Show("操作失败");
}
finally
{}
这样写应该没问题哦
在程序中接收就可以了oracle 楼上有
string ReserveIDS = "select dbo.funcNewTInquiryID('" + DateTime.Now.ToString("yyyyMMdd") + "')";
string strSql = "insert into TBL_Ticket_Inquiry (InquiryID,TicketType,ToDate,ToDepar,ToDesti,ToFlightNo,ToTime,HomeDate,HomeDepar,HomeDesti,HomeFlightNo,Inquiry,HomeTime,Email,InquiryDate,UseSite,AnswerFlg)"
+ " values (@InquiryID,@TicketType,@ToDate,@ToDepar,@ToDesti,@ToFlightNo,@ToTime,@HomeDate,@HomeDepar,@HomeDesti,@HomeFlightNo,@Inquiry,@HomeTime,@Email,@InquiryDate,@UseSite,@AnswerFlg)";
SqlConnection conn = new SqlConnection(strCnn);
conn.Open();
SqlTransaction trans = conn.BeginTransaction();
try
{
DataSet ds = SqlHelper.ExecuteDataset(trans, CommandType.Text, ReserveIDS, null);
this.InquiryID = ConvertType.GetString(ds.Tables[0].Rows[0][0]);
pars = setParameters();
SqlHelper.ExecuteNonQuery(strCnn, CommandType.Text, strSql, pars);
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
//其他异常
throw ex;
}
finally
{
conn.Close();
}
Logs.SaveLog(strCnn, strSql, "I", AnswerUser, EditorType, pars);
return true;
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(sql+"SELECT @@IDENTITY;", conn);
DataTable dt = new DataTable();
mySqlDataAdapter.Fill(dt);if (dt.Rows.Count != 0)
{
intId = Convert.ToInt32(dt.Rows[0][0]);
}