C#插入mysql显示插入成功,但无法查询到数据

本人向mysql中插入一条数据,代码如下
MySqlCommand sqlCmd2 = new MySqlCommand();
sqlCmd2.CommandText = str1;
sqlCmd2.Connection = sqlCnn;
MySqlTransaction trans = sqlCnn.BeginTransaction();
sqlCmd2.Transaction = trans;
try
{
int k = sqlCmd2.ExecuteNonQuery();
}
catch (Exception e)
{
trans.Rollback();
}
程序执行过程中未抛出异常,并且执行ExecuteNonQuery有返回值,为1
但是在数据库中却看不到插入的数据。
然后我将
MySqlTransaction trans = sqlCnn.BeginTransaction();
sqlCmd2.Transaction = trans;
trans.Rollback();

这些代码去掉,则插入成功,数据库中,能看到新插入的数据,如下所示
主健 参数1
id num1
1 a
2 b
5 c

主健id我的设置是自增长,增量为1,由2变为5是因为我按上述第一种方法插入后显示插入成功,却查询不到数据所致。
请问发生这种情况的原因是什么,该如何解决?

2个回答

catch (Exception e)
{
trans.Rollback();
}
finally
{
trans.Commit();
}

业务处理完注意事务提交,如果出现异常就回滚

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐