【问题标题】:Recordset Update errors when updating sql_variant field更新 sql_variant 字段时记录集更新错误
【发布时间】:2010-02-08 22:22:55
【问题描述】:

我正在使用 C++ 和 ADO 将数据添加到 SQL Server 2005 数据库。为 sql_variant 列调用 Recordset Update 方法时,我收到错误 DB_E_ERRORSOCCURRED 和错误消息 Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done. 如果我添加的值为 NULL 一切正常,并且所有值都转到非 sql_variant 类型的字段工作。

有人知道我做错了什么吗?

谢谢

[编辑] 我有更多信息。我们存储的值是空字符串 - ADO 似乎想将其作为 nchar(0) 存储在 sql_variant 中,这当然不是有效的 SQL 数据类型。有没有办法使用 ADO 批处理命令在 sql_variant 中获取空字符串?

【问题讨论】:

标签: c++ sql-server oledb ado


【解决方案1】:

那里只显示最外层的错误,并且错误提示您需要检查内部错误以找出问题。

抱歉,我是一名 VB 开发人员,但如果您遍历连接对象上的错误,您应该能够查明实际错误。

在我的经典 ADO 日子里,多步错误通常指向试图将一些大的东西塞进你的列中,例如一个太大的字符串或一个精度太高的数字。

希望这会有所帮助。

埃德

【讨论】:

  • 艾德,谢谢你的建议。我已经被拉到另一个项目上几天了,所以我可能需要一段时间才能有机会重新开始。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-20
  • 2015-04-10
相关资源
最近更新 更多