数据转换失败。 [OLE DB状态值(如果已知)= 2]

时间:2014-10-14 21:01:29

标签: c# sql sql-server database

处理应该对数据库进行简单调用的内容。选择与当前用户对应的记录,然后根据检索到的数据执行一些代码。但是,当它尝试查询数据库时,它返回"数据转换失败。 [OLE DB状态值(如果已知)= 2]"。有什么想法吗?

var db2 = Database.Open("DB2");
var progressCheck = "SELECT * FROM Progress WHERE ID=" + WebSecurity.CurrentUserId;

foreach (var record in db2.Query(progressCheck)) {

Code here.

};

1 个答案:

答案 0 :(得分:1)

ID表格中progress的数据类型是什么?您表中最有可能IDvarchar/char/nvarchar列,而WebSecurity.CurrentUserIdINT类型。可能是问题所在。相应地更改类型以解决此问题。

所以它主要在下面的代码行中失败

"... WHERE ID=" + WebSecurity.CurrentUserId