关于DELPHI的一些问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 15:10:18
我有一个GDGRID,里面存放一些数据,我要建立一个查询,用到组件如下:DateTimePicker1,ComboBox2,Edit1,Edit2,要从视图JJ_JJB里面进行查询,DateTimePicker1是表示年月的,ComboBox2表示部门,Edit1表示组别,Edit2表示姓名,各自对应视图里的字段分别为,DateTimePicker1对应V_NY,ComboBox2对应V_DEPT,Edit1对应V_LINE,Edit2对应V_NAME,我想实现的是当我点击查询按钮的时候,可以根据这些控件里的数值进行查询,DateTimePicker1(年月)是必须要查询的字段,部门,组别,姓名可以为空,请问我SQL.ADD()里面应该怎么写,我不知道怎么让DateTimePicker返回值查询,
第二个我想问的是,ComboBox要怎么与数据库连接,让ComboBox的下拉值等于某字段的数据,如果是DBComboBox又要怎么弄
第三个我想问的是,在第一个问题的基础上,如果我再添加一DateTimePicker的话,让要查询的时间介于两个DateTimePicker之间,那我SQL.ADD()里面又应该怎么写,还有我想让第二个DateTimePicker跟随着第一个DateTimePicker的变化而变化,比如第一个DateTimePicker的数值是2008-12-1,那第二个的数值就自动变成2008-12-31,如果第一个DateTimePicker的数值是2009-02-15的话,那第二个DateTimePicker的数值就自动变成2009-02-28,这个要怎么弄
第四个问题我想问的是,如果我点击“上月”按钮,DateTimePicker1的数值就会减少一个月,比如我现在的数值是2009-08-01,当我点击按钮时,数值就变成2009-07-01,而点击“下月”按钮就相反,这按钮的代码又应该怎么写
好像问题是多了点,不过还是希望有高人能帮我解答,分数如果不够的话还可以再加,只希望能给我正确的代码
图如下:

一)实现模糊查询的代码,自己看下,希望对你有帮助!
var
cName1,poNo1,poType1,moldNo1,quoNo1,cloNO1,jobNo1,qDate1:string;
begin

if length(trim(cName.Text ))=0 then
cName1:='1=1'
else
cName1:='客户名称 like '+quotedstr(cName.Text );

if length(trim(poNo.Text ))=0 then
poNo1:='1=1'
else
poNo1:='订单号码 like '+quotedstr(poNo.Text );

if length(trim(poType.Text ))=0 then
poType1:='1=1'
else
poType1:='订单类别 like '+quotedstr(poType.Text );

if length(trim(moldNo.Text ))=0 then
moldNo1:='1=1'
else
moldNo1:='本司模号 like '+quotedstr(moldNo.Text );

if length(trim(quoNo.Text ))=0 then
quoNo1:='1=1'
else
quoNo1:='报价单号 like '+quotedstr(quoNo.Text );

if length(trim(cloNo.Text ))=0 then
cloNo1:='1=1'
else
cloNo1:='成交通知书 like '+quotedstr(cloNo.Text );

if length(tri