.net——标准表达式中数据类型不匹配。
标准表达式中数据类型不匹配。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:Syst...
标准表达式中数据类型不匹配。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。
源错误:
行 55: Conn.Open();
行 56: OleDbCommand cmd1 = new OleDbCommand("select count(*) from 系统用户 where userID='"+this.yonghuming.Text+"'",Conn);
行 57: int count = Convert.ToInt32(cmd1.ExecuteScalar());
行 58: //Convert.ToInt32(CMD1.ExecuteScalar())
行 59: try
这是什么情况?以前用都没错啊,在第57行出错了,这是为什么啊?要怎么改呢? 展开
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。
源错误:
行 55: Conn.Open();
行 56: OleDbCommand cmd1 = new OleDbCommand("select count(*) from 系统用户 where userID='"+this.yonghuming.Text+"'",Conn);
行 57: int count = Convert.ToInt32(cmd1.ExecuteScalar());
行 58: //Convert.ToInt32(CMD1.ExecuteScalar())
行 59: try
这是什么情况?以前用都没错啊,在第57行出错了,这是为什么啊?要怎么改呢? 展开
3个回答
展开全部
SQL Server查询语句和Access查询语句是不一样的..
应该是你的查询语句的问题.这种方式有可能不适合Access.
你改成
OleDbCommand cmd1 = new OleDbCommand("select count(*) as totalNumber from 系统用户 where userID='"+this.yonghuming.Text+"'",Conn);
看看
楼下的。。这个其实是可以的。MSDN上的Sample code其实是这么写的。因为他的count(*)本生就是一个整型的。。
这里出现的问题,应该就是access下sql 语句的问题。。这种语句稍微有点不同于SQL Server。可能会不习惯。。。
应该是你的查询语句的问题.这种方式有可能不适合Access.
你改成
OleDbCommand cmd1 = new OleDbCommand("select count(*) as totalNumber from 系统用户 where userID='"+this.yonghuming.Text+"'",Conn);
看看
楼下的。。这个其实是可以的。MSDN上的Sample code其实是这么写的。因为他的count(*)本生就是一个整型的。。
这里出现的问题,应该就是access下sql 语句的问题。。这种语句稍微有点不同于SQL Server。可能会不习惯。。。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
cmd1.ExecuteScalar();
执行查询,返回结果集第一行的第一列。返回的是个object,至于具体是什么东西不清楚,反正觉得不是数字。把一个非数字对象强制转换成Int就会出错。
行 57: int count = Convert.ToInt32(cmd1.ExecuteScalar());
的代码是想得到查询结果记录数,可以改成:
int count = cmd1.ExecuteNonQuery();
执行查询,返回结果集第一行的第一列。返回的是个object,至于具体是什么东西不清楚,反正觉得不是数字。把一个非数字对象强制转换成Int就会出错。
行 57: int count = Convert.ToInt32(cmd1.ExecuteScalar());
的代码是想得到查询结果记录数,可以改成:
int count = cmd1.ExecuteNonQuery();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的问题应该是出在
select count(*) from 系统用户 where userID='"+this.yonghuming.Text+"'"
这句SQL有问题,你检查下你的表, 看是否有问题,你的userID 是什么数据类型,如果不是文本,不要用 单引号
select count(*) from 系统用户 where userID='"+this.yonghuming.Text+"'"
这句SQL有问题,你检查下你的表, 看是否有问题,你的userID 是什么数据类型,如果不是文本,不要用 单引号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询