问题描述
我数据库的字段是INT类型的我的SQL语句是这样写的,可是竟然报这样的错误。Conversionfailedwhenconvertingthevarcharvalue'%88%'todatatypeint.我想通过这个《88》来模糊查询。stringEmno1=this.TextBox2.Text.Trim();intn=int.Parse(Emno1);Sqlstr+="andEmno='%"+n+"%'";怎么可能报错呢?为什么我在数据库里用这个SQL语句查就可以:select*fromtable1whereemnolike'%88%'
解决方案
解决方案二:
intn=Convert.ToInt32(this.TextBox2.Text.Trim())Sqlstr+="andEmno='%"+n+"%'";另外看提示,应该是楼主在TextBox2中输入了%88%,,所以才转换错误
解决方案三:
晕死,我输入的是88不是%88%你写的和我写的一样啊,应该不会报错的,我不知道竟然报错了。
解决方案四:
把=换成like你自己看看你哪里写错了
解决方案五:
stringEmno1=this.TextBox2.Text.Trim();intn=int.Parse(Emno1);Sqlstr+="andEmnolike'%"+n+"%'";
解决方案六:
我以前就是用=,是可以的。我现在只是换成了like,不知道为什么不行了
解决方案七:
调试看看Sqlstr到底是什么啊
解决方案八:
数据库的字段是INT类型的-----Emno字段是int?if(是)Sqlstr+="andEmno='%"+n+"%'";//省略号。。。else根本不用转成int。。。LZ的问题看的迷糊。。
解决方案九:
整形的字段也能用“like”模糊查询啊,原来还以为只是字符串的字段可以呢
解决方案十:
整形的就不能用LIKE吗???
解决方案十一:
Emno是int型的吧~Conversionfailedwhenconvertingthevarcharvalue'%88%'todatatypeint.类型转换出错了~整型也能用模糊查询?!!
解决方案十二:
到底能还是不能啊?
解决方案十三:
查询的时候用like似乎数据库会把其它其它类型都当作字符来处理
解决方案十四:
Sqlstr+="andEmno='%"+n+"%'";用等号就会出现类型转换错误~(把'%88%'转成int)换成like就没问题了~(好像把Emno转成字符进行模糊查询了)