希望用DateTimePicker1.date赋值,但是不行,请问怎么改?
procedure TForm1.Button4Click(Sender: TObject);
begin
if SimpleDataSet1.fieldbyname('DateTimePicker1.date').AsString <>'' then
begin
Edit1.text:= SimpleDataSet1.fieldbyname('jlu').AsString;
Edit2.text:= SimpleDataSet1.fieldbyname('zhu').AsString;
end
else
begin
Edit1.Clear;
Edit2.Clear;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if SimpleDataSet1.fieldbyname('DateTimePicker1.date').AsString <>'' then
begin
Edit1.text:= SimpleDataSet1.fieldbyname('jlu').AsString;
Edit2.text:= SimpleDataSet1.fieldbyname('zhu').AsString;
end
else
begin
Edit1.Clear;
Edit2.Clear;
end;
end;
解决方案 »
- 关系理不清了。帮改写一小段代码。
- 联动任务系统设计
- edit or insert mode 我写的程序调试时老是不在模式下
- VB中用数据管理器VisData建ACCESS数据库,DELPHI7中用什么建ACCESS数据库?
- access数据库中的表或表中的记录莫名其妙的丢失???
- 我写了个组件,想在程序中提供类似IDE中属性编辑器给用户自己定义属性,可不知道怎么弄,大虾们快来帮帮我啊~!
- bde 和 sql server 2000连接的问题,谁能解决给高分(300分)!!!
- 小小鸟(急电):用BDE的Table控件,dbGride显示数据其中“删除”按钮想转换成Ado的ADOTable 控制
- 各位大侠救命,如何将一个程序放到IE的工具条上成为IE的一个按扭?
- 急救!怎样进行原唱与伴唱的切换,即实现卡拉OK功能??
- delphi7 怎么选中当前光标所在行?
- 算法求助,有关K短路问题
2,DATETIMEPICKER1里的数据可以先转换为string 变量。
var
date1:string;
DATE1:=FORMATDATETIME('YYYYMMDD',DATETIMEPICKER1.Date)+FORMATDATETIME('HH24MMSS',DATETIMEPICKER2.Time);
procedure TForm1.Button4Click(Sender: TObject);
begin
SimpleDataSet1.DataSet.CommandText:='select * from 表名 where shijian='''+QuotedStr(FormatDateTime('yyyyMMdd',DateTimePicker1.Date))+'''';
simpleDataSet1.Open;
if SimpleDataSet1.fieldbyname('shijian').AsString <>'' then
begin
RichEdit1.text:= SimpleDataSet1.fieldbyname('jlu').AsString;
RichEdit2.text:= SimpleDataSet1.fieldbyname('zhui').AsString;
end
else
begin
Edit1.Clear;
Edit2.Clear;
end;
end;
var
data1:string;
begin
DATE1:=FORMATDATETIME('YYYYMMDD',DATETIMEPICKER1.Date);
SimpleDataSet1.DataSet.CommandText:='select TO_CHAR(shijian,''YYYYMMDD HH24:MI:SS'') AS shijian from 表名 where TO_CHAR(shijian,''YYYYMMDDHH24MISS'')='''+DATE1+''')..
..
...
procedure TForm1.btn1Click(Sender: TObject);
begin
ShowMessage(DateToStr(dtp1.Date)); //显示日期
edt1.Text:=DateToStr(dtp1.Date); //将日期转换为字符串赋值给编辑框
end;
希望以上代码能对你有所帮助
不对之处望海涵
[FormatDateTime('yyyyMMdd', DateTimePicker1.Date)]);
SimpleDataSet1.DataSet.CommandText:='select * from 表名 where shijian='''+QuotedStr(FormatDateTime('yyyyMMdd',DateTimePicker1.Date))+'''';
这一句里前面已经加了一个引号,后面又用QuotedStr,就有两个引号了,多了一个引号,所以出错。
if not SimpleDataSet1.FindField(QuotedStr(DateToStr(DateTimePicker1.Date))).IsNull then
begin
if SimpleDataSet1.fieldbyname(QuotedStr(DateToStr(DateTimePicker1.Date))).AsString <>'' then
begin
Edit1.text:= SimpleDataSet1.fieldbyname('jlu').AsString;
Edit2.text:= SimpleDataSet1.fieldbyname('zhu').AsString;
end
end; //注意你数据库字段日期字段的保存格式,如果格式不对你的程序根本取不出数据的,当然即使取不出数据也不会报错;下面如果没有你要的格式,可以根据需要自己调整:
//A、表中日期字段格式为:2009-08-08 10:10:10,则 FormatDateTime函数第一个参数格式为:'yyyy-mm-dd hh:mm:ss';
//B、表中日期字段格式为:2009-08-08,则 FormatDateTime函数第一个参数格式为:'yyyy-mm-dd';
//D、表中日期字段格式为:20090808 10:10:10,则 FormatDateTime函数第一个参数格式为:'yyyymmdd hh:mm:ss';
//E、表中日期字段格式为:20090808,则 FormatDateTime函数第一个参数格式为:'yyyymmdd';
//如果格式为:2009-8-8,直接使用上面代码里的方法即可;2、SimpleDataSet1中还是空的,还没有开始查询SQL,没有数据,代码如下:
SimpleDataSet1.DataSet.CommandText := Format('select * from 表名 where 时间=''%s''',
[FormatDateTime('yyyy-mm-dd', DateTimePicker1.Date)]);
说明:FormatDateTime函数第一个参数的日期格式,需要和你数据库表里字段的格式保持一致。
SQL里的 时间字段需要更改一下,更改为和DateTimePicker1.Date相关联的那个字段;
我估计楼主应该是属于第一种情况,如果有问题,请继续发帖!~~
shijian(字段类型为日期型)是表的主键,记录中有shijian、jlu和zhu三个字段,用DateTimePicker1.Date选择的日期可能存在也可能不存在,先判断用DateTimePicker1.Date选择的日期是否存在,如果存在将jlu和zhu的内容显示在Edit控件上,如果记录不存在,则清空Edit控件。虽然我选择的日期是存在的,但是上面的代码不能显示jlu和zhu的内容,执行后清空Edit控件。
begin
if SimpleDataSet1.fieldbyname(QuotedStr(DateToStr(DateTimePicker1.Date))).AsString <>'' then
begin
Edit1.text:= SimpleDataSet1.fieldbyname('jlu').AsString;
Edit2.text:= SimpleDataSet1.fieldbyname('zhu').AsString;
end
end; 在采用这段代码也不行。
SimpleDataSet1.DataSet.CommandText := Format('select * from 表名 where 时间=''%s''',
[FormatDateTime('yyyy-mm-dd', DateTimePicker1.Date)]); 数据库为firebird,表里字段的类型为Date,格式为2009-7-17,与yyyy-mm-dd不一致?怎么改?
SimpleDataSet1.DataSet.CommandText:='select * from 表名 where shijian='''+FormatDateTime('yyyyMMdd',DateTimePicker1.Date)+'''';还是不行。
2009-01-02
本人数据库中日期的格式为:2009-1-2。
清问如何处理?
formatdatetime('yyyy-M-d',datetimepicker1.Date)
SimpleDataSet1.DataSet.CommandText:='select * from 表名 where shijian='''+FormatDateTime('yyyy-M-d',DateTimePicker1.Date)+'''';
simpleDataSet1.Open;
if SimpleDataSet1.fieldbyname('shijian').AsString <>'' then
procedure TForm1.Button4Click(Sender: TObject);
begin SimpleDataSet1.DataSet.CommandText:='select * from 表名 where shijian='''+FormatDateTime('yyyy-M-d',DateTimePicker1.Date))+'''';
simpleDataSet1.Open;
if SimpleDataSet1.fieldbyname('shijian').AsString <>'' then
begin
RichEdit1.text:= SimpleDataSet1.fieldbyname('jlu').AsString;
RichEdit2.text:= SimpleDataSet1.fieldbyname('zhui').AsString;
end
else
begin
Edit1.Clear;
Edit2.Clear;
end;
end;
if SimpleDataSet1.fieldbyname('shijian').value <>null then
你了类型没?ADOCommand1.CommandType := cmdText;