数据库查询的问题,多谢,多谢

zylnull 2002-05-27 08:01:56
我想做一个数据查询程序,数据库中有几种参数,例如a类包括a1,a2,a3,b类包括b1,b2c类包括c1,c2,c3.我想达到的是在文本筐中输入a,则dbgrid中显示a1,a2,a3所有数据,如果输入a1,则只显示a1一列数据,该怎么查询
我用的是query控件.
多谢大家帮忙了
...全文
22 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahuige 2002-05-27
  • 打赏
  • 举报
回复
不好意思,河外孤星老兄,你的方法如果是在字段又有a1,又有a11的情况下就不行了。因为a1已经精确匹配了,但是a11还是要出来,不过,如果发贴子的老兄愿意让两个都出来的话,也就可以了。
ahuige 2002-05-27
  • 打赏
  • 举报
回复
不好意思,河外孤星老兄,你的方法如果是在字段又有a1,又有a11的情况下就不行了。因为a1已经精确匹配了,但是a11还是要出来,不过,如果发贴子的老兄愿意让两个都出来的话,也就可以了。
ahuige 2002-05-27
  • 打赏
  • 举报
回复
问一下,你的a1 a2 a3是列还是行?
看上去象是指的列。如果是列的话,就可以用Tfield的visible属性来控制就行了。
以下的语句经调试通过
procedure TForm1.button1Click(Sender: TObject);
var i:integer;
find:boolean;
begin
find:=false;
for i:=0 to query1.FieldCount-1 do
if not (query1.Fields[i].FieldName=edit1.Text) then
query1.Fields[i].visible:=false
else
begin
find:=true;
query1.Fields[i].visible:=true;
end;
if not find then
for i:=0 to query1.FieldCount-1 do
if query1.Fields[i].FieldName[1]=edit1.Text then
query1.fields[i].Visible:=true;
end;
不过要注意大小写,这里必须大小写一样才行,你想忽略大小写的话,自己处理一下就行了。
netlib 2002-05-27
  • 打赏
  • 举报
回复
呵呵,不客气,别忘了结账。
netlib 2002-05-27
  • 打赏
  • 举报
回复
呵呵,不客气,别忘了结账。
zylnull 2002-05-27
  • 打赏
  • 举报
回复
多谢诸位大虾
尤其多谢河外孤星 多谢
netlib 2002-05-27
  • 打赏
  • 举报
回复
with query1 do
begin
close;
sql.Clear;
sql.add('select * from m111 where name like '''+edit1.Text+'''');
Open;
end;
你只用设置edit1.text就可改了。
hkhurus 2002-05-27
  • 打赏
  • 举报
回复
同意 netlib(河外孤星)
netlib 2002-05-27
  • 打赏
  • 举报
回复
SELECT * FROM TABLE1 WHERE (name LIKE 'a%');
SELECT * FROM TABLE1 WHERE (name LIKE 'a1%');
zjj_horse 2002-05-27
  • 打赏
  • 举报
回复
其实用table的filter,应该是很方便的。
自己看书吧。应该有很多例子的,好象是3月份的电脑编程技巧与维护上的一篇文章介绍的很详细的,可以找来看看。

2,496

社区成员

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

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