着急,这报错是什么原因??

-小蕾- 2010-05-06 03:20:33
无法在 System.String 和 System.Int32 上执行“=”操作。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.EvaluateException: 无法在 System.String 和 System.Int32 上执行“=”操作。

源错误:


行 101: string sql = string.Format("depart_id={0}", departid);
行 102: //从Dataset中筛选符合条件的行的集合
行 103: DataRow[] drr = ds.Tables[0].Select(sql);
行 104:


...全文
127 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
-小蕾- 2010-05-06
  • 打赏
  • 举报
回复
是的,就是占位符没加单引号的问题,现在我已经改过来了,谢谢各位!
ginni215 2010-05-06
  • 打赏
  • 举报
回复
string sql = string.Format("depart_id={0}", departid); 这个是没错的

DataRow[] drr = ds.Tables[0].Select(sql); 错误应该是在这里的,应该是筛选的时候,类型不匹配造成的

修改下看看:
string sql = string.Format("depart_id='{0}'", departid);
DataRow[] drr = ds.Tables[0].Select(sql);
-小蕾- 2010-05-06
  • 打赏
  • 举报
回复
行了,谢谢6楼的朋友!
HyenaZhang 2010-05-06
  • 打赏
  • 举报
回复
"1" = 1 这个肯定错啦

"1" = 1.tostring()
或者
Convert.toint32("1") = 1
-小蕾- 2010-05-06
  • 打赏
  • 举报
回复
departid是string型的呀,depart_id也是string型,我的SQL语句单独运行都没问题,可就是报错
Peter200694013 2010-05-06
  • 打赏
  • 举报
回复
ds.Tables[0]中的depart_id类型是什么?

//可以改为string sql = string.Format("depart_id=‘{0}’", departid);试试
阿双2009 2010-05-06
  • 打赏
  • 举报
回复
Tables里面的depart_id字段是什么类型?
程序中的departid变量又是什么类型?
Peter200694013 2010-05-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 walkghost 的回复:]
你的departid是整型的吧?
改成:
行 101: string sql = string.Format("depart_id={0}", departid.ToString());
[/Quote]

是这个原因么?

Console.WriteLine(String.Format("depart_id={0}",5));//这个是没错误的

teerhu 2010-05-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 walkghost 的回复:]
你的departid是整型的吧?
改成:
行 101: string sql = string.Format("depart_id={0}", departid.ToString());
[/Quote]
up
walkghost 2010-05-06
  • 打赏
  • 举报
回复
整型不能强制转换成字符串型。
walkghost 2010-05-06
  • 打赏
  • 举报
回复
你的departid是整型的吧?
改成:
行 101: string sql = string.Format("depart_id={0}", departid.ToString());

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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