Добавление параметров в SQLite с помощью C # - PullRequest
16 голосов
/ 01 мая 2009

Я только изучаю SQLite, и я не могу заставить мои параметры правильно скомпилироваться в команду Когда я выполняю следующий код:

this.command.CommandText = "INSERT INTO [StringData] VALUE (?,?)";

this.data = new SQLiteParameter();
this.byteIndex = new SQLiteParameter();

this.command.Parameters.Add(this.data);
this.command.Parameters.Add(this.byteIndex);

this.data.Value = data.Data;
this.byteIndex.Value = data.ByteIndex;

this.command.ExecuteNonQuery();

Я получаю исключение SQLite. После проверки CommandText я обнаружил, что все, что я делаю, не правильно добавляет параметры:

Есть идеи, что мне не хватает?

Спасибо

Ответы [ 2 ]

70 голосов
/ 01 мая 2009

Попробуйте другой подход, назвав свои поля в запросе и назвав параметры в запросе:

this.command.CommandText = "INSERT INTO StringData (field1, field2) VALUES(@param1, @param2)";
this.command.CommandType = CommandType.Text;
this.command.Parameters.Add(new SQLiteParameter("@param1", data.Data));
this.command.Parameters.Add(new SQLiteParameter("@param2", data.ByteIndex));
...
19 голосов
/ 01 мая 2009

Попробуйте VALUES вместо VALUE.

...