SQLite. Сетевая проблема с BeginTransaction

Я пытаюсь использовать Систему. Данные. Библиотека Sqlite, и я следую, документация об оптимизации вставляет так, я скопировал этот код непосредственно из документации:

  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();
  } 

Теперь, я инициализирую меня соединение прямо перед этим при помощи

SqlConnection myconnection = new SqlConnection("Data Source=blah");

У меня есть База данных, названная вздором с корректными таблицами и значениями.

Проблема состоит в том, когда я выполняю этот код, она говорит, что "Операция не допустима из-за текущего состояния объекта"

Я попытался менять код несколько раз и это неподвижные точки к BeginTransaction. Что дает?

10
задан Klaus Byskov Pedersen 15 March 2010 в 12:58
поделиться

1 ответ

Возможно, вы объявили и создали экземпляр соединения, но открыли ли вы его?

Первое, что я бы попробовал, - это удалить данные о транзакции и посмотреть, действительно ли код работает - посмотрите, что это вам говорит ...

Мартин

22
ответ дан 3 December 2019 в 17:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: