易截截图软件、单文件、免安装、纯绿色、仅160KB

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了。



相关问答:

利用C#编写txt转化到xml的程序

txt 和XML 格式相应
不借助DataSet
导入读取TXT文件
然后直接写入XML(同一文件,不同数据,递增原数据没有被覆盖情况下增加数据.)
教个要点或最好是有个代码提示的
过路好汉 帮个忙撒^^
不会,帮楼主 ......

C#填网页表单的问题 - .NET技术 / C#

我这里有一个登陆WIFI网络的页面。由于WIFI经常断线,所以要反复地在这个网页上登陆,没法无人值守。
所以,我想做一个C#程序,放一个webbrowser控件,自动填表并自动点击提交按钮。
问题一:
基本照网上找的程序 ......

怎么用C#读取服务器控件CSS样式 - .NET技术 / ASP.NET

用"服务器控件名.Style.Add("display","")可以给这控件添加CSS,怎么样才能给读出来呢?
怎么都没人帮忙啊

人都死哪去了

控件ID.Style[HtmlTextWriterStyle.BackgroundColor]
控件 ......

C# 利用socket传输XML文件问题

我现在要做一个用c#做的,利用socket传输XML文件,并解读XML文件,执行XML里面的相关操作之后,把结果动态地写入XML文件里,再传回去!最好能给个案例看看,急急急啊!!!
谢谢了!
怎么个解析法?

1、.net Romti ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号