ADOQuery3.Close;
     ADOQuery3.SQL.Clear;
     ADOQuery3.SQL.Add('update ks');
     ADOQuery3.SQL.Add('set zk=True');
     ADOQuery3.SQL.Add(',KsDate='+DateToStr(Now));
     ADOQuery3.SQL.Add(',KsTime='+TimeToStr(Time));
     ADOQuery3.SQL.Add('where zkzh="00001"');
     ADOQuery3.ExecSQL;ADO调用ACCESS
其中有数据表 ks
里有字段
   zkzh   文本 长度 5   准考证号
   zk   是/否              正在考试标志
      ksdate  文本              考试日期
      kstime  文本              考试时间我想根据准考证号 将以上字段更新。但出错了!请教各位我错在哪了?!

解决方案 »

  1.   

    你的sql语句连起来后少空格,如update ksset zk=True......
    在ADOQuery3.SQL.Add('update ks');的ks 后加空格或者在ADOQuery3.SQL.Add('set zk=True');的set前加空格,还有下面的语句....
    仔细检查一下
      

  2.   

    ADOQuery3.Close;
         ADOQuery3.SQL.Clear;
         ADOQuery3.SQL.Add('update ks');
         ADOQuery3.SQL.Add('set zk=1');//数据库里bit数据类型1代表true,0代表false
         ADOQuery3.SQL.Add(',KsDate='+DateToStr(Now));
         ADOQuery3.SQL.Add(',KsTime='+TimeToStr(Time));
         ADOQuery3.SQL.Add('where zkzh=''00001''');//双引号应该改成2个单引吧
         ADOQuery3.ExecSQL;
      

  3.   

    DateToStr(Now);TimeToStr(Time) 应加上 单引号或双引号或#
      

  4.   

    ADOQuery3.SQL.Add('update ks set zk=''1'',KsDate='+DateToStr(Now)+',KsTime='+TimeToStr(Time)+' where zkzh=''00001''');这样肯定没问题
      

  5.   

    ADOQuery3.SQL.Add(',KsDate="'+DateToStr(Now)+'"');
     ADOQuery3.SQL.Add(',KsTime="'+TimeToStr(Time)+'"');
      

  6.   

    ADOQuery3.SQL.Add(',KsDate='''+DateToStr(Now)+'''');
     ADOQuery3.SQL.Add(',KsTime='''+TimeToStr(Time)+'''');
      

  7.   

    ADOQuery3.Close;
         ADOQuery3.SQL.Clear;
         ADOQuery3.SQL.Add('update ks');
         ADOQuery3.SQL.Add('set zk=True');
         ADOQuery3.SQL.Add(',KsDate='''+DateToStr(Now)+'''');
         ADOQuery3.SQL.Add(',KsTime='''+TimeToStr(Time)+'''');
         ADOQuery3.SQL.Add('where zkzh=''00001''');
         ADOQuery3.ExecSQL
      

  8.   

    blazingfire(烈焰)(对.net极度憎恨中....) 
    各位,谢谢!
    按照你们的方法,我成功了!
    向你们学习!
    向你们敬礼!
    再加分!