sql语句的问题(50分)

  • 主题发起人 主题发起人 terry_lzs
  • 开始时间 开始时间
T

terry_lzs

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了sql语句来查询数据库中符合条件的记录,如下:
select * from masterlist
where (Hbno like %s%) or (Mbno like %s%) or (Obno like %s%)
我的目的是找出这几个字段中任意一个字段包含's'的记录,可是执行
后只有Hbno中符合条件的被选出,而其他两个字段符合条件的则没有被选出
这是为什么?是不是我的语句不该这么写?请指教。
 
加上'试试
 
where (hbno like '%s%') or (mbno like '%s%') or (obno like '%s%')
 
where (hbno like '%'+'s'+'%') or (mbno like '%'+'s'+'%') or (obno like '%'+'s'+'%')
 
我原来的语句%s%处用的是参数
where (Mbno like :s)or(Hbno like :s)or(Obno like :s)
后面再用main.ADOQuery1.Parameters[0].value:='%'+s+'%';
这样看来好像不应该是引号的问题
 
我已经知道原因了,虽然我sql中用的变量都是s,但是paramter仍然产生了多个变量
需要每一个都赋值,不过还是很谢谢大家的热心。
 
后退
顶部