同时请问我在delphi中 用select * from goods_date where G_ovdate<=now+30; 到delphi里去运行出现了错误, 为invalid field nameinvalid column name 'now' 而我在SQL里用select * from goods_date where G_ovdate<=getdate()+30就没有问题这是怎么回事
1. 自动编号应该可以,或者自己生成一个和时间和日期相关的序号,像流水号 2. ADOQuery1.SQL.Text := 'select * from goods_date where G_ovdate<= :nowTime'; ADOQuery1.Parameters.ParamByName('nowtime').Value := Now + 30;
既然你在sqlserver中用getdate()没问题,在delphi中就也用 select * from goods_date where G_ovdate<=getdate()+30,因为不带参数的sql语句是直接提交给服务器执行。或者带参数select * from goods_date where G_ovdate<=:a+30 然后再给参数赋值为now也可以。不过还要注意这两个时间是不同的,一个是服务器的时间,一个客户机时间。
用select * from goods_date where G_ovdate<=now+30; 到delphi里去运行出现了错误, 为invalid field nameinvalid column name 'now'
而我在SQL里用select * from goods_date where G_ovdate<=getdate()+30就没有问题这是怎么回事
2. ADOQuery1.SQL.Text := 'select * from goods_date where G_ovdate<= :nowTime';
ADOQuery1.Parameters.ParamByName('nowtime').Value := Now + 30;
select * from goods_date where G_ovdate<=getdate()+30,因为不带参数的sql语句是直接提交给服务器执行。或者带参数select * from goods_date where G_ovdate<=:a+30
然后再给参数赋值为now也可以。不过还要注意这两个时间是不同的,一个是服务器的时间,一个客户机时间。
现在select语句的问题在你们的帮助下解决了,请问自动编号,或者自己生成一个和时间和日期相关的序号,像流水号,这怎么去生成,我是新学程序语言的,所以这个不懂。