DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: hfh9801
今日帖子: 0
在线用户: 3
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 katoy (神的右手) ★☆☆☆☆ -
普通会员
2004/5/3 9:27:19
标题:
请教如何编写合并查询的代码? 浏览:901
加入我的收藏
楼主: 假如有3个EDIT控件(填写查询条件),如何实现填写其中的任意控件(其中可不填),并进行查询(用ADOQUERY进行),设控件名为EDIT1,EDIT2,EDIT3其对应的数据库字段名分别为NO,NAME,AGE.请高手帮写代码:)

----------------------------------------------
-
作者:
男 cchenbo (暗恋嫦娥) ★☆☆☆☆ -
普通会员
2004/5/3 9:52:33
1楼: ADOQUERY1.CLOSE;
ADOQUERY1.SQL.CLEAR;
ADOQUERY1.SQL.ADD('select * from xuesheng');
ADOQUERY1.SQL.ADD(where no=Edit1.text);
ADOQUERY1.OPEN;
----------------------------------------------
我很菜不要拿鸡蛋砸我.
我也希望成为大虾
我很笨,但我不傻!希望大侠们多多帮助~~~~
作者:
男 caoyiyi (戰龍於野) ★☆☆☆☆ -
普通会员
2004/5/3 10:49:58
2楼: 1楼的第四句有问题,应该这样写:
ADOQUERY1.SQL.ADD(' where no="'+Edit1.text+'"');//如果条件为字符
ADOQUERY1.SQL.ADD(' where no='+Edit1.text);//如果条件为数值


----------------------------------------------
-delphi初学者
网上充值最低价充值只要94.9元  
点击上面的字充值,支付多种银行卡网上充值。也可让我帮你们充值。支持城市为上海、北京、广州、山东。近期还会覆盖全国的移动用户缴费充值,未来将支持联通的用户缴费充值
作者:
男 katoy (神的右手) ★☆☆☆☆ -
普通会员
2004/5/3 11:27:36
3楼: 楼上 写这个代码难的是嵌套查询的语句
能不能写的完整
----------------------------------------------
-
作者:
男 caoyiyi (戰龍於野) ★☆☆☆☆ -
普通会员
2004/5/3 13:17:33
4楼: 不明白,再怎么嵌套也不是这么写,能不能说明白些?举个例子?
----------------------------------------------
-delphi初学者
网上充值最低价充值只要94.9元  
点击上面的字充值,支付多种银行卡网上充值。也可让我帮你们充值。支持城市为上海、北京、广州、山东。近期还会覆盖全国的移动用户缴费充值,未来将支持联通的用户缴费充值
作者:
男 katoy (神的右手) ★☆☆☆☆ -
普通会员
2004/5/5 22:20:26
5楼: 回楼上 我就围绕3个EDIT和一个BUTTON控件写代码
无论3个EDIT控件是否有填写内容,按BUTTON后都能实现‘与’查询内容
如EDIT1、EDIT2、EDIT3里面要求填写的分别是姓名 电话号码 地址
我假如填了姓名 电话两项 地址项不填(当然可以都填) 进行‘与’查询的代码
----------------------------------------------
-
作者:
男 katoy (神的右手) ★☆☆☆☆ -
普通会员
2004/5/6 10:26:57
6楼: 求助啊
----------------------------------------------
-
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/5/6 10:44:21
7楼: procedure GetQueryString(var S: string; const Src, Prefix: string; const Postfix: string = '');
begin
  if Src <> '' then
  begin
    if S = '' then S := ' WHERE ' else S := S + ' OR ';
    S := S + Prefix + Src + Postfix;
  end;
end;

// 使用

procedure TForm1.Button1Click(Sender: TObject);
var
  S: string;
begin
  GetQueryString(S, Edit1.Text, 'NO=');
  GetQueryString(S, Edit2.Text, 'NAME="', '"' );
  GetQueryString(S, Edit3.Text, 'AGE=');

  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('SELECT * FROM xuesheng');
  ADOQuery1.SQL.Add(S);
  ADOQuery1.Open;
end;
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/5/6 10:48:43
8楼: ' or ' 也要弄成接口 这样更灵活!
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/5/6 10:56:30
8楼:
此帖子包含附件:
JPEG 图像
大小:34.3K
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行80.07813毫秒 RSS