C# 连接 Sqlite 事务的问题
// 打开数据库
SQLiteConnection dconn = new System.Data.SQLite.SQLiteConnection();
dconn.ConnectionString = @"Data Source=D:\db.sdb";
dconn.Open();
SQLiteCommand dcmd = dconn.CreateCommand();
DbTransaction dtrans = dconn.BeginTransaction();
// 向aa表中插入一条数据
dcmd.CommandText = "insert into aa (a) values ('000001')";
dcmd.ExecuteNonQuery();
dtrans.Commit();
// 向aa表中插入第二条数据
dcmd.CommandText = "insert into aa (a) values ('000002')";
dcmd.ExecuteNonQuery();
dtrans.Commit();//这儿一个事务中两次commit可不可以,我的代码中这个地方报错
// 放弃插入第三条数据
dcmd.CommandText = "insert into aa (a) values ('opq')";
dcmd.ExecuteNonQuery();
dtrans.Rollback();//commit后还可能rollback吗?如果可以,回到哪儿呢,commit之后,还是事务的开始处
// 关闭数据库连接
dconn.Close();
两处红字就是我的问题!
我想对数据分批 commit 不行吗? 不能出现超过一个?
翻出事务的文章来看了下终于有了答案了:
事务三种运行模式:自动提交事务每条单独的语句都是一个事务。显式事务每个事务均以 BEGIN TRANSACTION 语句显式开始,以 COMMIT 或 ROLLBACK 语句显式结束。隐性事务在前一个事务完成时新事务隐式启动,但每个事务仍以 COMMIT 或 ROLLBACK 语句显式完成。
这说明,commit或者rollback之后这个事务就完成了,之后不能再有任何的commit或者rollback了。
帮
相关问答:
最近在做个网上商城,购物车模块,没有做过,麻烦各位帮忙说下大致说下思路,能发一份源码更好。小弟先谢过各位了;
QQ:413763818;
eamil:swebook@126.com
网上一大堆!
www.51aspx.com
去下 ......
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......
我用jquery无刷新上传图片后返回json格式的数据报错
(实际上图片是上传成功的了,只是返回json格式总读不到,总是报错)
我调试上传的ashx页如下
无法显示 XML 页。
使用 样式表无法查看 XML 输入。请更 ......
我有一个相对路径 图片存在D:\Photos下,我怎么能够取出这个图片,且将这个图片放在一个DataTable中。
Datatable已经从数据库中查出,里面有一个数据类型为image的pic字段,请问如何放进去?
一共两个问题哦,1.去 ......
我想用c#做一个小说阅读器 但不知如何实现那自动滚屏效果 哪位高手能帮忙解决一下 谢谢!!!!!!!!!!!!!!!!!!!
帮你顶顶,期待高手帮忙解决
(1)Timer
(2)textBox1.ScrollToCaret();
......