插入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"分别绑定到名为idtext的参数。

另请注意,参数名称通常会被修改为字母数字,因此txt_codigo.Text不太可能正常工作。

您应该使用十进制,字符串字段类型的引用,您的语句是正确的但不清楚,您可以使用sql命令构建器创建清除sql文本,或者您可以使用连接的Command对象。