holmes31415 2019-04-04 09:06 采纳率: 0%
浏览 1622
已采纳

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条回答 默认 最新

  • threenewbee 2019-04-04 10:11
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同