插入Firebird数据库C#
FbCommand fbCmm = new FbCommand("INSERT INTO PRODUTO (CODIGO,EAN,DESCRICAO,VAL_PRODUTO,VAL_CUSTO,CAT_PRECO)" + "Values (@txt_codigo.Text, @txt_ean, @txt_descricao, @txt_valPro, @txt_valCus, @txt_catPre)", ConexaoFirebird.Conexao);
这句话有什么问题? 我在其他类中做了一个开放的连接ConexaoFirebird.Conexao();
您正在执行参数化查询而不提供这些参数的值。 查看文档 :
FbCommand cmd = new FbCommand("insert into t1(id, text) values (@id, @text);"); cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@id", 123); cmd.Parameters.Add("@text", "my string"); cmd.ExecuteNonQuery();
在这里,它们将值123
和"my string"
分别绑定到名为id
和text
的参数。
另请注意,参数名称通常会被修改为字母数字,因此txt_codigo.Text
不太可能正常工作。
您应该使用十进制,字符串字段类型的引用,您的语句是正确的但不清楚,您可以使用sql命令构建器创建清除sql文本,或者您可以使用连接的Command对象。