Aggiunta di parametri in SQLite con C #
-
03-07-2019 - |
Domanda
Sto solo imparando SQLite e non riesco a compilare correttamente i miei parametri nel comando. Quando eseguo il seguente codice:
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();
Ottengo un'eccezione SQLite. Ispezionando il CommandText scopro che qualunque cosa stia facendo non aggiunge correttamente i parametri: INSERT INTO [StringData] VALUE (?,?)
Qualche idea su cosa mi sto perdendo?
Grazie
Soluzione
Prova VALUES
invece di VALUE
.
Altri suggerimenti
Prova un approccio diverso, denominando i campi nella query e denominando i parametri nella query:
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));
...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow