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



在尝试将记录插入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

相关内容

  • 没有找到相关文章

最新更新