DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: will123wi
今日帖子: 21
在线用户: 6
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 skyboy1011 (skybyoy) ★☆☆☆☆ -
普通会员
2004/3/4 19:40:27
标题:
一个超高难度的查询问题,也许不是绝顶高手都不会知道的!! 浏览:1914
加入我的收藏
楼主: 我要从一个学生表中查询学生的情况,该学生表中有以下的字段:姓名,学号,年龄,性别,出生日期,成绩。现在我要利用那些字段中的任何几个来查询学生的情况。例如利用年龄和性别来查询,又或者是利用出生日期和成绩来查询,那么我应该怎样写这样的一个程序段呢?请高手们把那个程序详细的写出来,要从BEGIN开始写,写到END结尾,不要写那么一两句就算了。先谢了!!!

----------------------------------------------
-
作者:
男 easykey (悠游) ★☆☆☆☆ -
盒子活跃会员
2004/3/4 20:24:57
1楼: 偶不是高手,解解看吧。
首先假设查询界面中,姓名、学号、成绩是由edit输入,性别由comboBox输入,出生日期由DateTimePicker输入(它的处理有点特殊,因为有非空初始值)。
procedure Tform1.btnQueryClick(Sender: TObject);
var
  cond: string;
begin
  cond := ';
  if edtName.Text <>  ' then
    if cond = ' then
      cond := Format('name like %s',[QuotedStr(AnsiQuotedStr(edtNamt.Text,'%'))])  //姓名支持模糊查询
    else
      cond := Format('%s AND name like %s',[cond,AnsiQuotedStr(edtNamt.Text)]);
  if edtNumber.Text <> ' then
    if cond = ' then
      cond := Format('Number = %s',[edtNumber])
    esle
      cond := Format('%s AND Number = %s',[cond,edtNumber]);
  if cbSex.Text <>  ' then
    if cond = ' then
      cond := Format('Sex = %s',[cbSec.Text])
    else
      cond := Format('%s AND Sex = %s',[cond,cbSec.Text]);
  if cond <>  ' then
    with query1 do
    begin
      close;
      sql.clear;
      sql.Add('select * from 学生表');
      sql.Add('where '+ cond);
      open;
    end;
end;
----------------------------------------------
按此在新窗口浏览图片
男儿贵展平生志,为国输忠合天地。甲穿虽则失黄金,剑缺犹能生紫气。塞草萋萋兵士苦,胡虏如今勿胡虏。封侯十万始无心,玉关生入君看取。

敬请光临 学海Delphi站
  http://delphi.studysea.net
学海无涯,让我们共同成长!
作者:
男 waterstone (waterstone) ★☆☆☆☆ -
盒子活跃会员
2004/3/4 20:28:05
1楼: 可惜
我不是绝顶高手!

----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
作者:
男 besthing (dkdk) ★☆☆☆☆ -
普通会员
2004/3/4 23:33:21
2楼: 把 easykey (悠游) 代码中的
var
  cond: string;
begin
  cond := ';

替换为
var
  cond: string;
begin
  cond := ' 1=1 ';

剩下的代码就简洁多了。
----------------------------------------------
-
作者:
男 easykey (悠游) ★☆☆☆☆ -
盒子活跃会员
2004/3/5 8:23:49
3楼: 谢谢2楼兄弟
----------------------------------------------
按此在新窗口浏览图片
男儿贵展平生志,为国输忠合天地。甲穿虽则失黄金,剑缺犹能生紫气。塞草萋萋兵士苦,胡虏如今勿胡虏。封侯十万始无心,玉关生入君看取。

敬请光临 学海Delphi站
  http://delphi.studysea.net
学海无涯,让我们共同成长!
作者:
男 chengyao (百炼成尧) ★☆☆☆☆ -
盒子活跃会员
2004/3/5 11:58:02
4楼: 这是什么高难度查询哦?
是很简单的查询哈。
----------------------------------------------
Function IThink(Boy,Girl : TPerson) : String;
begin
  if Boy.钱 < 10W then Girl.Say(''滚!'') else
  begin
     if Girl.Anser = ''我愿意'' then
     Result := ''结婚'' else
     Result := IntToStr(88);
  end;
风过不折→百炼成尧 QQ: 7315910
作者:
男 playerjn (草脚一个) ★☆☆☆☆ -
盒子活跃会员
2004/3/5 13:00:01
5楼: 我来给个难点的吧!!
我要在上面的数据库里只找出同名同姓的人,但我又不知道它是谁。
有谁能用SQL写出来吗?
----------------------------------------------
草得你心服口服
草得你五体投地
作者:
男 soft5257 (该用户已被禁用!) ★☆☆☆☆ -
盒子活跃会员
2004/3/5 13:04:56
6楼: 我来给个难点的吧!!
我要在上面的数据库里只找出同名同姓的人,但我又不知道它是谁。
有谁能用SQL写出来吗?

可以用分组
----------------------------------------------
-我不低偏高,正合你意;
 我不胖偏瘦,为国奉献;
 我不丑偏帅,社会满意;
 我不坏偏好,看着舒心,跟着放心。
作者:
男 dl8212 (老汉) ★☆☆☆☆ -
盒子活跃会员
2004/3/5 13:30:17
7楼: 这个就是找重复的记录啊
可以搜一下以前的贴子
----------------------------------------------
-
作者:
男 hbqckzj (醉里寻欢) ★☆☆☆☆ -
盒子活跃会员
2004/3/5 15:34:11
8楼: 偶来个更高难度的!

偶想在上面的数据库里找一个人,但偶又不知道那个是谁,也不知那个人是男是女,

哪位绝顶高手高手高高手能用SQL写出来?:)
----------------------------------------------
秋风清 秋月明,几上闲琴黯生尘。
夜来忽忆少年事,陌上柳绿草青青。
相逢一笑言未语,携手相看自倾心。
二十二载云烟里,云含风韵烟含情。
风尘渺落风霜浸,但闻长空雁长鸣。
姿容如花颜如玉,只在平生梦里寻。
秋风清 秋月明,秋灯秋雨愁煞人。
天涯路远人何在,午夜梦回空扰惊。
作者:
男 zsredmoon (=^@^=) ★☆☆☆☆ -
盒子活跃会员
2004/3/5 16:00:25
9楼: 按此在新窗口浏览图片
----------------------------------------------
按此在新窗口浏览图片
=^@^=
作者:
男 xiangle9943126 (xiangle) ★☆☆☆☆ -
普通会员
2004/3/6 9:01:43
10楼: 分两次组嘛
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行78.125毫秒 RSS