将记录插入db时出错:无效的字符串或缓冲区长度

时间:2013-07-31 21:09:54

标签: .net sql informix

尝试将记录插入informix数据库表时出现以下错误。我正在使用带有许多不同参数的.net OdbcCommand控件 - 有些是动态的静态。

[Informix][Informix ODBC Driver]Invalid string or buffer length

1 个答案:

答案 0 :(得分:3)

我自己煞费苦心地找到了答案。这是因为没有为您在查询中指定的每个动态参数赋值。

示例:

string query = "insert into my_table (id, name, phone) values (?, ?, '123-456-7890')";
myOdbcCommandControl.CommandText = query;
myOdbcCommandControl.Parameters["id"].Value = 123456;
//myOdbcCommandControl.Parameters["name"].Value = "john"; // commented out here
myOdbcCommandControl.ExecuteNonQuery(); // errors here because the "name" parameter isn't set