C#事务编程,数据未更新 也不报错

来源:百度知道 编辑:UC知道 时间:2024/06/30 14:06:46
编码如下:用的是 access数据库,运行后,t_Kind表更新了,t_Explain表却没更新,
OleDbConnection con = new OleDbConnection(System.Configuration.ConfigurationSettings.AppSettings["conStr"].ToString());
con.Open();
OleDbTransaction tran = con.BeginTransaction();
OleDbCommand com = new OleDbCommand();
com.Connection = con;
com.Transaction = tran;
com.CommandText = "INSERT INTO t_Kind (k_Name) VAlUES ('" + kindName + "')";
com.ExecuteNonQuery();
com.CommandText = "SELECT @@identity";
String kindID = com.ExecuteScalar().ToString();
com = new OleDbCommand("INSERT INTO t_Explain (k_ID,t_Col,Site,Explain) VALUSE (" + kindID + ",@t_Col,@Site,@Explain)", con, tran);
OleDbParameter param = new OleDbParameter("@t_Col", OleDbType.VarChar);
param.

看了一下代码
com = new OleDbCommand("INSERT INTO t_Explain (k_ID,t_Col,Site,Explain) VALUSE ('" + kindID + "',@t_Col,@Site,@Explain)", con, tran);
这句kindID没有用''引起来,改了再试一下看看如何
希望有所帮助
那你这样改
try{}
catch
{
//回滚事务
tran.Rollback();
}如果没有都提交上会回滚

com = new OleDbCommand("INSERT INTO t_Explain (k_ID,t_Col,Site,Explain) VALUSE ('" + kindID + "',@t_Col,@Site,@Explain)", con, tran);
实在不行就打断点一个个看 ,肯定能找到!

直接tran.Commit();

看不大懂,我是新手