C# 带有BeginTransaction的SQLite.Net问题
我正在尝试使用System.Data.Sqlite库,并遵循有关优化插入的文档,因此我直接从文档中复制了以下代码:C# 带有BeginTransaction的SQLite.Net问题,c#,sqlite,system.data.sqlite,C#,Sqlite,System.data.sqlite,我正在尝试使用System.Data.Sqlite库,并遵循有关优化插入的文档,因此我直接从文档中复制了以下代码: using (SQLiteTransaction mytransaction = myconnection.BeginTransaction()) { using (SQLiteCommand mycommand = new SQLiteCommand(myconnection)) { SQLiteParameter myparam = new
using (SQLiteTransaction mytransaction = myconnection.BeginTransaction())
{
using (SQLiteCommand mycommand = new SQLiteCommand(myconnection))
{
SQLiteParameter myparam = new SQLiteParameter();
int n;
mycommand.CommandText = "INSERT INTO [MyTable] ([MyId]) VALUES(?)";
mycommand.Parameters.Add(myparam);
for (n = 0; n < 100000; n ++)
{
myparam.Value = n + 1;
mycommand.ExecuteNonQuery();
}
}
mytransaction.Commit();
}
我有一个名为blah的数据库,它有正确的表和值
问题是当我运行这段代码时,它说“由于对象的当前状态,操作无效”
我尝试过多次更改代码,但它仍然指向BeginTransaction。给出了什么?您可能已经声明并实例化了连接,但您是否已经打开了它 我要做的第一件事是删除事务内容,看看代码是否真的有效——看看这会告诉你什么
Martin我有一些代码,其中我使用了SQLite的事务,但在我的works机器上没有。如果我记得的话,今晚我会帮你看一下我的个人电脑。。。马丁,我是个白痴,谢谢。是的,在事务处理之前,我已经做好了一切准备,我想我忘了我必须打开连接哈哈。作为一个村里的白痴,我想我还应该补充一点,你需要在调用
BeginTransaction()
之前打开连接
SqlConnection myconnection = new SqlConnection("Data Source=blah");