大家来帮我看一下。谢谢了。

xzyyxiaohao 2008-12-28 12:54:58
Decimal ro = 100;
string sql = "select * from goods_users where extcredits2>@extcredits2";
OleDbConnection con = AccessDBUtil.connection();
OleDbCommand cmd = new OleDbCommand(sql, con);
con.Open();
cmd.Parameters.Add("@extcredits2", OleDbType.Numeric);
cmd.Parameters["@extcredits2"].Value = ro;
int userid = (Int32)cmd.ExecuteScalar();
con.Close();
Response.Write("///////" + userid);
con.Close();

上面怎么提示未将对象引用设置到对象的实例。 帮我看一下,是那个错了。 还有那extcredits2在access数据库是货币。
...全文
83 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Robin 2008-12-28
  • 打赏
  • 举报
回复
第一行第一列的值是DBNull
greatverve 2008-12-28
  • 打赏
  • 举报
回复
ExecuteScalar();是返回什么的?返回单值呀。
select * 你是返回单值吗?
xzyyxiaohao 2008-12-28
  • 打赏
  • 举报
回复
发现以前等于号都正长。变成大于号就不行了。extcredits2>@extcredits2 是不是货币类型不能比大小那。
海倍娜楽 2008-12-28
  • 打赏
  • 举报
回复
楼主加上try{}catch{}看看有没有异常.
还有可能是查找的数据为'null'
daizhenbest 2008-12-28
  • 打赏
  • 举报
回复
调试看下 cmd.ExecuteScalar(); 返回值是好多.
xzyyxiaohao 2008-12-28
  • 打赏
  • 举报
回复
extcredits2>@extcredits2 个人认为问题出在这,可是就是查找不原因。
xzyyxiaohao 2008-12-28
  • 打赏
  • 举报
回复
int userid = (Int32)cmd.ExecuteScalar(); 在这一行
magicbacon 2008-12-28
  • 打赏
  • 举报
回复
提示哪一行有错?

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧