如何在access数据库中插入日期 我用的是delphi7和access数据库,数据库中数据表格中有日期一项,如何在程序中使用Tquery组件将一个Tdate类型的变量插入倒数据表格中呢?谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Query.FieldByName('XXX').asDateTime := TDate 这样它报告”时间日期格式无效(NULL)“的错误。我的代码是这样的Query1.Params[5].AsDate:=riqi1;Query1.Params[6].AsDate:=riqi2;然后执行sql语句,其中riqi1,riqi2都是Tdate类型的。在执行sql语句前我打印了riqi1,其中的内容是”2003-3-9“。 这样试试:query1.params[5].value:=now(); 出现上述问题一般是时间的年月日顺序不对,用formatdatatime()也可以来转换一下; 常用的插入数据的方式有两种:1,把所有数据转换成String,如:var cmdstr:String;begin cmdstr:=' update youtable set youfield='+Edit1.Text;2,使用参数传递,如: Query1.Active:=false; Query1.SQL.Clear; Query1.SQL.Add('update youtable set youfield=:fieldvalue'); Query1.Parameters.ParamByName('fieldvalue').Value:=Edit1.Text; Query1.ExecSQL;而且建议采用第二种方式,不用进行任何要传递的数据类型和字符串之间的转换,Borland的VCL会自动把你要传递的数据类型转换成合法的SQL类型传递进去。PS:建议你看一下Jet参考,Access的SQL语法跟标准的有点不一样,比如,它的时间好象是用#time#这样的格式。 query1.fieldbyname('date').asstring:=formatdatetime('yyyy-mm-dd',datetimepicker1.date); 呵呵,如果是SQL写的话,应该这样:update UrTable set UrField=#2004-1-31# 简单调用动态链接库出错 如何检查字符串中是否包含另一串字符? Form 有没有可能镶在别一个Form中 对DateTimePicker怎么设置才能使日期段和时间段均得到修改?问了N次均无人解答 SysUnit.pas 里的RPR过程是干什么用的? 关于C++和DELPHI的数据类型兼容的问题 如何防止同一个form的弹出 求助!!!!! 大家好,请解决 不知哪有免费的电子图书下载(delphi的,且是入门级) 还上应用程序跟网页的问题 军用地图开发资料,大家都有试试!
我的代码是这样的
Query1.Params[5].AsDate:=riqi1;
Query1.Params[6].AsDate:=riqi2;
然后执行sql语句,其中riqi1,riqi2都是Tdate类型的。在执行sql语句前我打印了riqi1,其中的内容是”2003-3-9“。
query1.params[5].value:=now();
1,把所有数据转换成String,如:
var
cmdstr:String;
begin
cmdstr:=' update youtable set youfield='+Edit1.Text;
2,使用参数传递,如:
Query1.Active:=false;
Query1.SQL.Clear;
Query1.SQL.Add('update youtable set youfield=:fieldvalue');
Query1.Parameters.ParamByName('fieldvalue').Value:=Edit1.Text;
Query1.ExecSQL;
而且建议采用第二种方式,不用进行任何要传递的数据类型和字符串之间的转换,Borland的VCL会自动把你要传递的数据类型转换成合法的SQL类型传递进去。PS:建议你看一下Jet参考,
Access的SQL语法跟标准的有点不一样,比如,它的时间好象是用#time#这样的格式。
update UrTable set UrField=#2004-1-31#