如何根据这样的查询界面编写SQL语句?数据库ACCESS

RedAngler 2008-03-06 04:04:18
数据库ACCESS,表gugan有birthday(出生日期),Whcd(文化程度,字符型),Rzz_time(任正职时间),其中birthday和Rzz_time都是datetime类型的数据。

查询界面具体为这样:

年龄:_(1)_岁至_(2)_岁 文化程度:_(3)_ 至 _(4)_

任正职时间:_(5)_年至 _(6)_年

文化程度有小学、初中、高中、中专、大专、本科、硕士、博士可选。


对以上这几个数字所代表的控件解释一下:

(1):nAgeFromEdit(文本框供用户输入年龄起点)
(2):nAgeToEdit(文本框供用户输入年龄终点)
(3):WhcdFRomComboBox(ComboBox供用户选择文化程度起点)
(4):WhcdToComboBox(ComboBox供用户选择文化程度终点)
(5):RzzFromEdit(文本框供用户输入任职时间起点)
(6):RzzToEDit(文本框供用户输入任职时间终点)

现在要求写出统计符合用户在查询界面上所填写内容的成员记录的SQL查询语句,并能在ADOquery1.add('select * from gugan where xxxxx');这样的语句中执行。请回答问题的朋友注意题目需求,即查询条件是由用户通过查询界面设定的,并非固定不变。问题解决立即结贴送分,在线等...
请回答问题的朋友仔细考虑下问题的需求,
...全文
206 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ad9329 2008-03-06
  • 打赏
  • 举报
回复
要不然 你就建一个临时表 自己编下 字典表
0 小学、 1 初中、 2 高中、 3 中专、 4 大专、 5 本科、 6 硕士、7 博士
然后 LEFT JION 一下 再查询
就可以了 。。。
下班了。。不说了。。
设计问题。。。。
ad9329 2008-03-06
  • 打赏
  • 举报
回复
文化程度:是 至

汉字 至 排列 多少次啊??
自己先个函数都累死。。。
ad9329 2008-03-06
  • 打赏
  • 举报
回复
那就 让他报错。
风之谷 2008-03-06
  • 打赏
  • 举报
回复
我觉得按这样的查询方式好点:
条件分类:
生日     
工作日期
  文化程度  

  用户自由添加条件.自由组合 这样方便的.不然的话好难判断用户是否购选这个条件.
  文化程度是个问题.
  
风之谷 2008-03-06
  • 打赏
  • 举报
回复
楼上的如果条件不是输入信息呢?
风之谷 2008-03-06
  • 打赏
  • 举报
回复
有一定难度,文化程度是字符如何去范围.如果你数据库对文化程度有一个数值表达 就可以了.
ad9329 2008-03-06
  • 打赏
  • 举报
回复
var
string strsql ;
________________


strsql = 'Select * from gugan'
+ ' where (birthday BETWEEN DateValue(''' + DateTimeToStr(NOW()-StrToInt(nAgeFromEdit.Text))
+ ''' ) AND DateValue(''' +DateTimeToStr(NOW()-StrToInt(nAgeToEdit.Text)+'''))'
+ 'AND ( Rzz_time BETWEEN DateValue(''' + RzzFromEdit.text+'-00-00'
+ ''' ) AND DateValue(''' +RzzToEDit.text+'-00-00''))'
+ 'AND (Whcd BETWEEN'+ IntTostr(WhcdFRomComboBox.ItemIndex) +'AND '+IntTostr(WhcdToComboBox.ItemIndex)+')';

文化程度 那里太变态。。。你存的时候就应该 按编码存 。

0 小学、 1 初中、 2 高中、 3 中专、 4 大专、 5 本科、 6 硕士、7 博士
fa_ge 2008-03-06
  • 打赏
  • 举报
回复
这个要拼接sql,楼下的继续

2,496

社区成员

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

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