AdoConnection1.Execute奇怪的问题(50分)

  • 主题发起人 主题发起人 guth
  • 开始时间 开始时间
G

guth

Unregistered / Unconfirmed
GUEST, unregistred user!
var
sj:string;

sj:=datetimetostr(date); //一个"时间"字段
AdoConnection1.Open;
AdoConnection1.BeginTrans;
AdoConnection1.Execute('insert into A表 select null,账号,户名,余额,'+sj+',备注 from B表 where substring(结果,1,1)='+'''0''');
if XXX then
AdoConnection1.CommitTrans;
else
......

为什么A表中的“时间”字段均是“1905-6-10”,而不是当天的日期,高手们请解答一下。
 
DateTimeToString(sj, 'yyyy-mm-dd', Now);
可以吗?给分^^
 
sj:=FormatDateTime('yyyy-mm-dd',now)
 
测试一下马上给分!
 
没有设置为当天时间,当然不是了~~
上面两位的可以了,也给我分点分~~~~
 
gggoobm的不能用
happycyp还是“1905-6-10”
 
寒战:date不是当天时间吗?
 
检查一下,你自己系统的日期是什么?
 
还可以用Formatdatetime(‘yyyy/mm/dd’,now)
 
我的系统是 2006-7-13 没错,这个问题太奇怪了?
 
我使用showmessage(sj) 显示的是当天的时间没问题,是不是insert这句有问题?
 
sj:=datetimetostr(date); 就可以了,主要是SQL语句中+sj+'没传递,而你此字段又默认获得时间?
建议用参数方式传递
 
chefee:能否说的详细一些?
 
sj 在你的SQL里表示字段名,我想这里不太合适吧。有这样一个字段吗
 
字段名是“时间”,Sj只是代表一个变量!
继续等!
 
既然字段名是“时间”,那么你的SQL有误。
 
AdoConnection1.Execute('insert into A表 select null,账号,户名,余额,'''+sj+''' as 时间,备注 from B表 where substring(结果,1,1)='+'''0''');
 
gggoobm 的做法是对的,
你把时间加上引号。这样插入表就可以了。
 
AdoConnection1.Execute('insert into A表 select null,账号,户名,余额,'''+sj+''' as 时间,备注 from B表 where substring(结果,1,1)='+'''0''');
同意gggoobm的做法,你的引号加的有问题啊
 
后退
顶部