我想问一下就是在怎么提取数据的一个问题。
就是我有几个SELECT * FROM A1的SQL语句,
不同的就是WHERE后面的条件不一样,
例如SELECT name,ply FROM A1 WHERE ZDATE='20030912';
SELECT name,ply FROM A1 WHERE ZDATE>'20030901';
SELECT name,ply FROM A1 WHERE ZDATE='20030101';
name是姓名,ply是金额
就是计算不同的时间段内的同一个人的金额.
那么,如果要在一个DBGRID内显示,我要怎么办呢。
有什么办法,
还有,我是新手,不太懂的做视图,如果这个要用视图来表示,要怎么做呢
就是我有几个SELECT * FROM A1的SQL语句,
不同的就是WHERE后面的条件不一样,
例如SELECT name,ply FROM A1 WHERE ZDATE='20030912';
SELECT name,ply FROM A1 WHERE ZDATE>'20030901';
SELECT name,ply FROM A1 WHERE ZDATE='20030101';
name是姓名,ply是金额
就是计算不同的时间段内的同一个人的金额.
那么,如果要在一个DBGRID内显示,我要怎么办呢。
有什么办法,
还有,我是新手,不太懂的做视图,如果这个要用视图来表示,要怎么做呢
例如
SELECT name,ply FROM A1 WHERE ZDATE='20030912';
union
SELECT name,ply FROM A1 WHERE ZDATE>'20030901';
union
SELECT name,ply FROM A1 WHERE ZDATE='20030101';
你想要的数据!
DateTimePicker1和DateTimePicker2,用来设置你要提取的时间段。
2\连接ADOConnection1(这是在连接oracle数据库)
2、在按钮的点击事件中加入如下代码procedure TForm1.Button1Click(Sender: TObject);
var
T1,T2,sql:string;
begin
T1:=datetostr(DateTimePicker1.Date);
T2:=datetostr(DateTimePicker2.Date);
sql:='select name,ply FROM A1 where to_char(ZDATE,'+'''yyyy-mm-dd'''+')>'+''''+T1+''''+'and to_char(ZDATE,'+'''yyyy-mm-dd'''+')<'+''''+T2+'''';
if ADOQuery1.Active then ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sql);
ADOQuery1.Open; ADOQuery1.Connection:=ADOConnection1;
DataSource1.DataSet:=ADOQuery1;
DBGrid1.DataSource:=DataSource1;
end;
4\运行,成功!!!
5\给分吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!