用C#写的SQL语句问题,求救!!

11097082 2003-07-26 12:16:27

用C#写的,原意是想取得字段classid的前两个字符与要查找的字符比较的,
比如有多条记录 classid的值分维:0101,0102,0103,0201,0202,0301,......
现在我要找出classid的前两个字符是“01”的记录来,
其中该字段为文本类型,下面是其中代码:

................
sql=" select * from class where classid.Substring(0,2) ='" + xcid + "' ";
................
OleDbDataReader rd = cmd.ExecuteReader();

报错:查询语句错误
后来把sql改成:sql="select * from class wherd classid.ToString().Substring(0,2) ='" + xcid + "' ";
还是错误!

把sql改成:sql="select * from class wherd classid ='" + xcid + "' ";
就可以,但不是我想要的啊。

怎么解决?

另问:问怎么直接写出 rd["classid"] 不行,而非要写成rd["classid"].ToString()

...全文
30 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jiayuanliao 2003-07-26
  • 打赏
  • 举报
回复
Sql可以用:
"select * from class where classid like '" + xcid + "%' ";
你把VB的语法和SQL语法搞混了!
引号里的是SQL语法,不是面向对象的哦。
xu0007 2003-07-26
  • 打赏
  • 举报
回复
"select * from class where left(classid,2)='" + xcid + "' ";
试一下!
关于rd["classid"],楼上说的没错!
fys 2003-07-26
  • 打赏
  • 举报
回复

sql="select * from class wherd classid like '" + xcid + "%' ";
river168 2003-07-26
  • 打赏
  • 举报
回复
"select * from class where substring(classid,0,2)='" + xcid + "' ";


因为rd["classid"]是个对象而不是字符串.
syl13396 2003-07-26
  • 打赏
  • 举报
回复
其实你这是在构造SQL查询语句,只需要构造出来的语句在SQL查询分析器中能够执行就可以了。以下两种方法都应可行:
1、"select * from class where substring(classid,1,2)='"+xcid+"'"
2、"select * from class where classid like '"+xcid+"%'"

你只需要其中一种方法就够了!
11097082 2003-07-26
  • 打赏
  • 举报
回复
经过证实,可以实现的语句是:
"select * from class where left(classid,2)='" + xcid + "' ";
//我觉得奇怪,在C#中怎么可以用VB的left()函数呢??
"select * from class where classid like '" + xcid + "%' ";

以下的语句有点问题
"select * from class where substring(classid,0,2)='" + xcid + "' ";
cl_03 2003-07-26
  • 打赏
  • 举报
回复
select * from class where substr(classid,02) = 'xcid'
dnyz 2003-07-26
  • 打赏
  • 举报
回复
先在查询分析器里把sql语句调试通过了,再放到C#里来,这样保险
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2003-07-26 12:16
社区公告

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

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