query下的sql(50分)

  • 主题发起人 主题发起人 ygq
  • 开始时间 开始时间
Y

ygq

Unregistered / Unconfirmed
GUEST, unregistred user!
query下的sql设置如下:

update table1 set 日期=date

但是总是报错,为什么?该怎么做?
 
不同数据库的SQL语句写法不一样。


procedure TForm1.Button1Click(Sender: TObject);
var
MyDate:String;
begin
DateSeparator := '/';
SHORTDATEFORMAT:='DD/MM/YYYY';
MyDate:=DateToStr(Date);
//对于本地数据库(LOCAL)
Query1.SQL.ADD('update table1 set 日期='''+MyDate+'''');
//对于Oracle数据库
Query1.SQL.ADD('update table1 set 日期=TO_Date('''+MyDate+''',''DD/MM/YYYY'')');

end;

 
应该说在access下这句话的使用没有任何问题!
关键是你的日期写的对不对了!
日期='''+DatetoStr(MyDate)+''''
这样写应该没有什么问题的你试试看1
 
日期格式各个数据库不一样,你干脆用参数最好.
update table1 set 日期=:youdate;
query.params[0].asdatetime:=now;
后面的参数直接用Delphi中的日期格式,就各个数据库通用了.
 
我用的paradox表
是否是这样
update table1
set 日期:=now

??
 
我也赞同用参数的办法!
update table1 set 日期=: yourdate;
再把params的属性打开!设置成为ftdatetime
query.parms['yoourfildname'].Value := 时间
就可以啦1
 
这样吧,看看行不行:
tempdate:=FormateDateTime('yyyy-mm-dd',now);
mydate:=StrToDate(tempdate);
Query1.SQL.Add('update Table1 set 日期=:nowday');
Query1.Params[0].AsDatetime:=mydate;
 
在Sql server中的日期查询我一直比较提倡使用Datepart
而在Access中则应使用DateSerial
 
还有没有更简单的方法?
求解!!!!!
 
update table
set 日期=getdate()
 
terry_lzs的方法在query的sql属性里,不可实现~
 
我向来自努力奋斗的主意是最好的
 
如果你用的是paradox表的话,Date 是关键字不能用.
 
使用参数的方法。
query1.close;
query1.sql.clear;
temp:=FormateDateTime('yyyy-mm-dd',now);
mydate:=StrToDate(tempdate);
Query1.SQL.Add('update Table1 set 日期=:nowday');
Query1.Params[0].AsDatetime:=mydate;
query1.execsql;
 
呵呵,又来晚了,

我也用参数的方法
 
把日期转换成字符串来符值
要用''引起来
 
后退
顶部