请问各位前辈,怎样用日期查询出当天的数据并显示在DBGird上?
我用了两个SpinEdit控件确定时间。
谢谢!
我用了两个SpinEdit控件确定时间。
谢谢!
解决方案 »
- 什么时候Delphi才能象微软的Visual studio工具一样的稳定和Bug少呀??
- 请问进销存里面采购付款是怎样的一个流程呢?又如何进行设计呢?
- 大家说说注册一个软件公司的流程?
- 简单的问题:有关 DBGrid 的问题。
- 如何图形化展示表与表、表字段和另一张表中字段的外键关系?
- 紧急求助高手!!关于adoquery的sql语句引用问题
- 是不是应该放弃java 而重新学习delphi 呢?(真心请教过来人 up给分)
- 求DELPHI模仿C++中的模板方法
- 先解决先得分
- 如何动态改变动态创建的控件的属性,菜鸟求救!!
- 关于delphi按日期查询数据库 请大家帮助
- 怎么在ListView中插入数据?不是简单的顺序排列插入!
你所说的问题:加一个adoconnection,一个adoquery,一个datasource,一个dbgrid
设置好数据库联接,加两个datetimepicker控件,一个按钮.
dbgrid与datasource联接
datasource与adoquery联接
adoquery与adoconnection联接按钮事件,写查询代码即可
我的数据库是老师给的,已经连上了,表名是yali_day_report,时间的字段的y1.我已经把datetimepicker加上了,麻烦高手帮忙了!
这里假定你用的是Access数据库(你连这个都没说明?)其实,这里假定你对DBGrid中显示数据的列宽没有什么要求,不需要再去设置。procedure TForm1.FormShow(Sender: TObject);
var
s: string;
begin
s := FormatDatetime('yyyy-mm-dd', Date);
DateTimePicker1.DateTime := StrToDateTime(s + ' 00:00:01');
DateTimePicker2.DateTime := StrToDateTime(s + ' 23:59:59'); ADOConnection1.LoginPrompt := False;
ADOConnection1.Connected := True;
end;procedure TForm1.Button1Click(Sender: TObject);
var
sql, s1, s2: string;
begin
s1 := FormatDatetime('yyyy-mm-dd hh:mm:ss', DateTimePicker1.DateTime);
s2 := FormatDatetime('yyyy-mm-dd hh:mm:ss', DateTimePicker2.DateTime);
sql := 'Select * From yali_day_report Where y1 >= #' + s1 + '# and y1 <= #'
+ '# Order by y1'; ADOQuery1.Close;
ADOQuery1.SQL.Text := sql;
ADOQuery1.Open;
ADOQuery1.First;
end;
谢谢
begin
ADOConnection1.LoginPrompt := False;
ADOConnection1.Connected := True;
end;procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := FormatDatetime('yyyy-mm-dd', Date); ADOQuery1.Close;
ADOQuery1.SQL.Text := 'Select * From yali_day_report Where y1 >= ''' + s
+ ' 00:00:00'' and y1 <= ''' + s + ' 23:59:59'' Order by y1';
ADOQuery1.Open;
ADOQuery1.First;
end;不要那两个日期控件。
这个对事件的查询,好像是对Access的事件查询
我把内容详细点说一次吧
数据库是SQLSever 与数据库连接用的是Table,DBGrid和DateSource。
想要查询某天的记录在DBGrid显示出来。表名是yali_day_report 字段是y1
嘿嘿~
v_str:string;
begin
v_str:='select * from yali_day_report where y1=:time1';
with adoquery do
begin
close;
sql.clear;
sql.add(v_str);
parameters.parambyname('time1').value:=formatdatetime('yyyy-mm-dd',date);
open;
end;
end;
a:= formatdatetime('YYYYMMDD',form1.DateTimePicker1.DateTime);
Form1.Table1.SetRangeStart;
Form1.Table1.FieldByName('y1').AsString:=DateToStr(Form1.DateTimePicker1.Date)+'00:00:00';
Form1.Table1.SetRangeEnd;
Form1.Table1.FieldByName('y1').AsString:=DateToStr(Form1.DateTimePicker1.Date)+'23:59:59';
Form1.Table1.ApplyRange;
end;
这是我的代码
例如输入2000 12 5 系统就提示 2000 12 500:00:00不是按要求的时间和数据格式
这个怎么改