一个关于select…like语句的用法
来源:百度知道 编辑:UC知道 时间:2024/07/07 01:09:06
我有一个数据表,里面有3个字段:id(varchar(10)),station(varchar(50)),flag(int)。现在我要查询其中id为1(1通过文本框输入)的路线经过的站点,我的select语句是这样写的:
tab3.Open " select * from line where id = '%" & Text1.Text & "%'", con, adOpenKeyset, adLockOptimistic
可这样1能查出来,可连11、12等包含1的路线全查出来了,不知能不能在查询语句中把这些没用都过滤掉?id字段是字符类型,不是整型。
我把两个%号去掉了,可运行时出错说 Invalid field comparison near 'like '1'',是不是类型不对的意思?我的数据表里id是字符行,而输入的1是整形,这会不会影响?麻烦给为再给点意见,谢了~~~~
把=号改成like就会出现上述问题,是不是字符串是不能用=号来判断相等的?
tab3.Open " select * from line where id = '%" & Text1.Text & "%'", con, adOpenKeyset, adLockOptimistic
可这样1能查出来,可连11、12等包含1的路线全查出来了,不知能不能在查询语句中把这些没用都过滤掉?id字段是字符类型,不是整型。
我把两个%号去掉了,可运行时出错说 Invalid field comparison near 'like '1'',是不是类型不对的意思?我的数据表里id是字符行,而输入的1是整形,这会不会影响?麻烦给为再给点意见,谢了~~~~
把=号改成like就会出现上述问题,是不是字符串是不能用=号来判断相等的?
显然你想要的是精确查询,而不是模糊查询,那就把前后的两个% 都拿掉.
tab3.Open " select * from line where id = '" & Text1.Text & "'", con, adOpenKeyset, adLockOptimistic
把两个%去掉
tab3.Open " select * from line where id = '" & Text1.Text & "'", con, adOpenKeyset, adLockOptimistic
两个 ' 是不能少的
tab3.Open " select * from line where id = '" & Text1.Text & "'", con, adOpenKeyset, adLockOptimistic
这样修改就可以了!
tab3.Open " select * from line where id = '" & Text1.Text & "'", con, adOpenKeyset, adLockOptimistic
你两边加个%就是匹配所有id有Text1.Text的值
去掉%就可以了。