关于SQL的模糊查询问题!

xjp6688 2005-03-10 02:47:00
ADOQuery1->SQL->Add("select * from sales where title_id like '%"+x+"%'");
--------------------------
象用LIKE这种的SQL里模糊查询,小弟不是很明白,上面这条语句是别人给写的,不过不是很明白是怎么回事,尤其是加这些双引号和单引号什么的,小弟有些糊涂,那为大虾给说说,最好在举两个例子,小子感激不尽,还有在DELPHI中有KEY IN函数用来限制键盘的输入,那在BCB中是否有类似的函数???

多谢大家!!!
...全文
180 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
scanmaymaymay 2005-03-11
  • 打赏
  • 举报
回复
同意,OnKeyPress可以很好地控制了
rcrain 2005-03-11
  • 打赏
  • 举报
回复
同意楼上。
sbJava 2005-03-11
  • 打赏
  • 举报
回复
‘’为bcb中的转义字符
blankman 2005-03-11
  • 打赏
  • 举报
回复
应该是这样的:

在OnKeyPress事件中,
if((Key>='0'&&Key<='9') or (key=8))
~~~~~~~~~~~~~~`~~~确定输入的是数字 ~~~~~~``或者退格
注意,需要加单引号
{
输入的是数字做什么。。。
}else
{
输入不是数字做什么。。。
Key = 0;// 相当于没有输入
}
sfans 2005-03-11
  • 打赏
  • 举报
回复
在BCB中可以在form或组件的OnKeyPress中判断。
xjp6688 2005-03-11
  • 打赏
  • 举报
回复
感谢上面几位的回答!
xjp6688 2005-03-11
  • 打赏
  • 举报
回复
多谢大家,还有在DELPHI中有KEY IN函数用来限制键盘的输入,那在BCB中是否有类似的函数???
scanmaymaymay 2005-03-11
  • 打赏
  • 举报
回复
在OnKeyPress事件中,
if(Key>=0&&Key<=9)
{
输入的是数字做什么。。。
}else
{
输入不是数字做什么。。。
}
xjp6688 2005-03-11
  • 打赏
  • 举报
回复
能不能给几个例子!!
xjp6688 2005-03-11
  • 打赏
  • 举报
回复
多谢大家!
xjp6688 2005-03-11
  • 打赏
  • 举报
回复
多谢大家!
Friecin 2005-03-10
  • 打赏
  • 举报
回复
哈哈,上面的说得加起来,就很全面了!搂主可以结贴了!
scanmaymaymay 2005-03-10
  • 打赏
  • 举报
回复
说个简单的例子
如果title_id字段是数字型,可以这样写 title_id = 1 ,
如果title_id字段是字符串型,则要这样写 title_id = '1' ,
而模糊查询,title_id 是字符串,
如果查询是以a开头的,则条件是 title_id like 'a%' ,
如果查询是以a结尾的,则条件是 title_id like '%a' ,
如果查询是所有含有a的,则title_id like '%a%' ,
rcrain 2005-03-10
  • 打赏
  • 举报
回复
%后的 双引号是和select之前的双引号匹配的,第2个%之前的双引号与最后一个双引号匹配,中间是用+来连接字符串,来组成一个完整的句子。单引号中的内容是代表like的查询参数。如果x="abc",这个句子就相当于
" select * from sales where title_id like '%abc%' "
一个简单的例子:" select * from sales where title_id like 'a%' "
zengwujun 2005-03-10
  • 打赏
  • 举报
回复
变量x在sql语句中的表示:"+x+"

如果x为字符串,在两边加' ',有下面的 形式
"select * from sales where title_id like '%"+x+"%'"
xjp6688 2005-03-10
  • 打赏
  • 举报
回复
SQL查询语句我都明白,不过就是不明白在BCB中的加的单引号,和双引号什么的,我有些糊涂,大家还是没说到点子上!!
xjp6688 2005-03-10
  • 打赏
  • 举报
回复
在DELPHI中有KEY IN函数用来限制键盘的输入,那在BCB中是否有类似的函数???
  • 打赏
  • 举报
回复
一般情况下:你获得完整的SQL语句 然后拿到SQL2k的查询分析器里看看 是否是对的
jekeywood 2005-03-10
  • 打赏
  • 举报
回复
从SALES表中查询出title_id字段中包含x变量值的所有记录。X是一个变量,可以是不同的值。
可以找本数据库的书看一看,应该是很简单的.如果X的值为abc,那么就是找出title_id中包含abc的记录.%是通配符,可以是一个或多个字符.%abc%.


1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧