adoQry.sql.add('update shop_data set date=#2004-12-01# where id =13')
如何实现?
怎么看别人是可以的?
如:sql.add('SELECT * FROM ddd where end_date <= #2004-9-14#')//别人说是可以的,但我没试过

解决方案 »

  1.   

    with query do 
    begin
    Close;
    SQL.Clear;
    SQL.Text:='update shop_data set date= :Awhere id =: B';
    Paramters.ParamByName('A').Value:=StrToDateTime('2004-12-01'); 
    Paramters.ParamByName('B').Value:=13;
    Open;
    end;
    这样写相对比较不容易出错
      

  2.   

    别人说的那个带#符号的试针对access数据库的,
      

  3.   

    若是access应该没问题
    可能是你用了adoqry.open(select 用); 应该是adoqry.execsql(delete insert update用);
      

  4.   

    update----我是用execsql的,select ----用open, Access 2000做数据库的,为何上述的语句出错的?
      

  5.   

    嘿嘿,今天一看才知道晕了,抱歉抱歉,把ExecaSQL写成Open 了
      

  6.   

    date是关键字,请换一个字段名试试!!我以前用过name作字段名(Access数据库),出现了同样的错误!!
    如果你用的是SQL Server,系统会自动将与关键字重名的字段名用[]括起来。
      

  7.   

    改为:adoQry.sql.add('update shop_data set [date]=#2004-12-01# where id =13')
      

  8.   

    呵呵,原来真是date是关键字的原因,多谢指教,我会改正这个不好的习惯了,给分