日期(100分)

  • 主题发起人 主题发起人 waterjin
  • 开始时间 开始时间
W

waterjin

Unregistered / Unconfirmed
GUEST, unregistred user!
我用mysql做数据库,rq字段类型是date,在 delphi中我要插入一个当前日期的记录,
table1.fieldbyname('rq').asstring:=datetostr(date());
编译通过,可是我在数据表中看rq的值是1791-08-08, 我估计是post了一个 两位年代的值,
我查了资料,说可以在 formonshow里写上:
dataseparator:='-';
ShortDateFormat:='yyyy-mm-dd';
就可以了,可是我z照做了,没有用,数据表中写入的仍是1791-08-08,请各位帮忙
 
ShortDateFormat:='yyyy-mm-dd';
table1.fieldbyname('rq').value:=date;
试试
 
试试
table1.fieldbyname('rq').asstring:=formatdatetime('YYYY-mm-dd',date);
 
用下述方法,与日期格式无关!
Table1.FieldValues['rq']:=date;
 
这样肯定是 4 位年份。
procedure TForm1.Button1Click(Sender: TObject);
begin
DateSeparator := '-';
ShortDateFormat := 'yyyy/mm/dd';
showmessage(datetostr(now));
end;

如果不行,肯定是服务那端的问题。是不是选择了合适的日期类型,
如果是短日期,默认年份范围是不是正确。
但很可能是因为 两端的“日期格式不一致”造成的。
 
我解决了,我用
table1.fieldbyname('rq').asstring:=trimdatetostr(date());
多加了个trim就搞定了,但是还是要谢谢各位啊
 
自定义一个函数:
要什么格式有什么格式:
function newtime():string;
begin
result:=formatdatetime('yyyy-mm-dd',now);
end;
然后调用函数就行了
table1.fieldbyname('rq').asstring:=newtime;
 
接受答案了.
 
后退
顶部