Pergunta

Im apenas aprender SQLite e eu não posso obter os meus parâmetros para compilar para o comando corretamente. Quando eu execute o seguinte código:

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

Eu recebo uma exceção SQLite. Ao inspecionar o CommandText eu descobrir que tudo o que eu estou fazendo não está adicionando corretamente os parâmetros: INSERT INTO [StringData] VALUE (?,?)

Todas as idéias que eu estou perdendo?

Graças

Foi útil?

Solução

Tente VALUES vez de VALUE.

Outras dicas

Tente uma abordagem diferente, nomeando seus campos na consulta e nomear os parâmetros na consulta:

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));
...
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top