with DataModule1.ADOquery10 do
      begin
       close;
       SQL.Clear;
       SQL.Add('insert into 停车费用表(BeginDate,EndDate) values('+DateToStr(DateTimePicker1.Date )+','+DateToStr(DateTimePicker2.Date )+') where ');
       SQL.Add('ParkID=' +quotedstr(DBEdit1.text));
       ExecSQL;
      end;程序编译时没有错误,执行后出现错误“SQL语句之后缺少分号(;)。”,求解办法!

解决方案 »

  1.   

    SQL.Add('insert into 停车费用表(BeginDate,EndDate) values('+QuotedStr(DateToStr(DateTimePicker1.Date ))+','+QuotedStr(DateToStr(DateTimePicker2.Date ))+') where ');
      SQL.Add('ParkID=' +quotedstr(DBEdit1.text));
      

  2.   

    单步到execsql,查看sql的内容。或者在execsql之前加一个showmessage(sql.text)看看sql的内容,把内容复制到数据库里面执行一下。建议把sql写成一句,而不是分成两部分。
      

  3.   

    你别用ADD,直接写sql.text := xxxxx,试试,否则你那样会被认为是两条sql
      

  4.   

    insert语句不用加where条件 
      

  5.   

    1.又看到拼SQL字符串菊花为之一紧好好的不用参数,特别是日期类型,只要日期格式不一样,你就等着报错吧,尽量用参数,除非必须要用动态SQL,如条件不一样,SQL也不一样。
    2.你用的是啥数据库?insert 后面还要where? 还是你只是想 update ?
      

  6.   

    尽量使用quotedstr()
    来代替双引号吧,否则在书写代码时就会出现这个问题的
      

  7.   

    insert 后面可以加 where ???
    我要看看帮助了!!!
      

  8.   

    1.如果是insert,后面不能有where,sql语句可以这样写:
    SQL.Text:=Format('insert into 停车费用表(BeginDate,EndDate) values(''%S'',''%S'') ',
              [FormatDateTime('YYYY-MM-DD',DateTimePicker1.DateTime),FormatDateTime('YYYY-MM-DD',DateTimePicker2.DateTime)]);2.如果只是修改某一条数据,则应该用update,sql语句可以这样写:
    SQL.Text:=Format('update 停车费用表 set BeginDate=''%S'',EndDate=''%S''  '
              +' where ParkID=''%S'' ',
              [FormatDateTime('YYYY-MM-DD',DateTimePicker1.DateTime),FormatDateTime('YYYY-MM-DD',DateTimePicker2.DateTime),DBEdit1.text]);
      

  9.   

    同意 (KAIKAI)
    应该insert不用 where 吧?
      

  10.   

    按照斧意思,在ParkID=DBEdit1.text的时候插入一个值,你是不是想把这条记录的两个日期设为datetimePicker1,和datetimePicker2的值啊?
    那应该用update吧?
    update 停车费用表 set begindate=datetimepicker1.date,begindate=datetimepicker2.date where parkid=dbedit1.text;
    意思是这个意思,可能具体写法不对,你改一改试一试,我只是想表达我的意思。
      

  11.   

    insert  into .....where ????没有这样的语法把,还是你其实要做的是UPDATE?
      

  12.   

    插入语法错误了!!!,insert  into values 不能用条件where 
    除非你是  insert into 停车费用表(BeginDate,EndDate)
             select BeginDate ,EndDate from xxxx where ParkID= ?