如何在SQL语句中实现模糊查询(50分)

  • 主题发起人 主题发起人 ReStart
  • 开始时间 开始时间
R

ReStart

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用ADO来连接SQL Server中的数据库,在ADOQuery的SQL属性里写了
Select * From books
where Name=:sm
可是我不知道怎么样实现模糊查询,请赐教!谢谢!!
对了,还有为什么一个使用post方法提取表单的dll,在IntraBob中顺利通过,
在IE中却无法显示页面呢?
(ADO打了第二版的补丁了!)
再次谢谢!!
 
Name like '%你的关键字%'
 
select * from books where name like "计%" ;
把第一个字为“计”的所有书都找出来。
 
Select * From books
where Name like :sm
在sql中写了语句,剩下的就是给你定义的参数赋值了
adoquery1.paramters[0].value:='%s%';
adoquery1.active:=true;
这样就把Name字段中包含字符s的记录选出来了
 
可用 Like 运算符来找出符合指定样式的字段值。对于 pattern,可以指定完整的值(例如,Like "Smith"),或用通配符来找出一数值范围(例如,Like "Sm*")。
在一表达式中,可用 Like 运算符比较字段值和字符串表达式。例如,如果在 SQL 查询中输入 Like "C*",则查询会返回所有字段中以字母 C 开头的值。在参数查询 中,可以提示用户提供要搜寻的样式。

在下面的例子里,会返回以字母 P 开头、而其后接着介于 A 到 F 之间的任何字母和三个数字的数据:

Like "P[A-F]###"

在下面的列表中说明如何使用 Like 运算符来测试不同样式的表达式。

符合的种类 样式 符合(返回 True ) 不符合(返回 False )
多个字符 a*a aa,aBa,aBBBa aBC
*ab* abc,AABB,Xab aZb,bac
特殊字符 a[*]a a*a aaa
多个字符 ab* abcdefg,abc cab,aab
单一字符 a?a aaa,a3a,aBa aBBBa
单一数字 a#a a0a,a1a,a2a aaa,a10a
字符范围 [a-z] f,p,j 2,&
范围之外 [!a-z] 9,&,% b,a
非数字 [!0-9] A,a,&,~ 0,1,9
组合字 a[!b-m]# An9,az0,a99 abc,aj0
注意在delphi中要用%作为通配符
 
关于模糊查询他们已说了哪么多了,也就是这些东西,我就不再多说了,

在用ADO并使用SQL的时候,
不要用ADOQuery来作,
而要换用ADODataSet控件,
你如作过测试就知道了。
在ADODataSet的CommandText中写SQL。
 
啧啧,这么多人回答呀,只恨我分太少啦,等明天我就去试试看先!先谢过了!!
另外第二个问题已经解决了。
 
各位高手!不得呀!那个:SM,SM是一个变量,它要接收用户从WEB页面上的单行文本框上
输入的数据,我是用ADO来做的。反正变量老是不能正常传递。
 
select * from table like '%xxx%'
 
请尽快结束你的帖子
 
来迟了,请结束讨论!
 
多人接受答案了。
 
后退
顶部