在尝试将记录插入informix数据库表时,出现以下错误。我使用的.net OdbcCommand控件有很多不同的参数——有些是动态的,有些是静态的。
[Informix][Informix ODBC Driver]Invalid string or buffer length
我自己辛辛苦苦地找到了答案。这是由于没有为您在查询中指定的每个动态参数指定值造成的。
示例:
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