问题描述
我想在模糊查询一个数据表时,在textbox中输入关键字,进行模糊查询。在查询生成器中SELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHERE(SnoLIKE'%"+@sno+"%')这样写好像不对啊,具体该怎么写呢,或者有什么别的方法?
解决方案
解决方案二:
怎么不行,你把最后拼成的sql语句打印出来看看,是不是拼错了
解决方案三:
查询分析器中格式select*fromscore1wherenamelike'%'+@dd+'%'
解决方案四:
declare@avarchar(10)set@a='st'select*fromdbo.bwhereclike'%'+@a+'%'
解决方案五:
SELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHERESnoLIKE'%'+@sno+'%'
解决方案六:
SELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHERE(SnoLIKE'%"+@sno+"%')如果你是的ACCESS的数据库,就把%改成*
解决方案七:
不会吧?在代码中这样写:stringsql="SELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHERE(SnoLIKE'%"+this.TextBox1.Text+"%')";试试看
解决方案八:
SELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHEREcharindex(Sno,this.TextBox1.Text)>0
解决方案九:
上边写反了,应为如下:SELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHEREcharindex(this.TextBox1.Text,Sno)>-1
解决方案十:
我就不说么了
解决方案十一:
SELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHERE(SnoLIKE'%"+TextBox1.text+"%')
解决方案十二:
...o(∩_∩)o...
解决方案十三:
用这个语句在要查询的列为char型的时候没有错误,但在查询int型时有错误了“将varchar值'%'转换为数据类型为int的列时发生语法错误。”该怎么做呢
解决方案十四:
把数据库字段改成varchar
解决方案十五:
int类型怎么能直接用like查询呢如果不能改字段类型,就按下面的用:SELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHERE(Cast(Snoasvarchar)LIKE'%'+@sno+'%')
解决方案:
同样可以使用你把@sno这个变量定义为varchar类型的就可以了SELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHERESnoLIKE'%'+@sno+'%'
解决方案:
SELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHERE(SnoLIKE'""%"+TextBox1.text+"%""')