procedure TForm_main.SpeedButton4Click(Sender: TObject);
 var tt:string;
begin
  DM.ADOQuery1.SQL.Add('Delete * from ');
  DM.ADOQuery1.SQL.Add('gzb where 日期 =:var0');
  DM.ADOQuery1.Parameters[0].Value:=sg.Cells[0,sg.Row];//已经得到查询条件
  DM.ADOQuery1.ExecSQL; 
  end;运行以后提示:“FORM子句语法错误”该怎么解决

解决方案 »

  1.   

    DM.ADOQuery1.SQL.Add('Delete * from ');改成:
    DM.ADOQuery1.SQL.Add('Delete from ');试一下
      

  2.   

    同意楼上,估计用的 ACCESS。
      

  3.   

    同意 qiume(杜克) 的~~
    只要把*去掉就好了~~是SQL语法问题哈
      

  4.   

    delete 后面本来就没星,去掉就行了
      

  5.   

    还有这一句
    DM.ADOQuery1.SQL.Add('gzb where 日期 =:var0');改为:DM.ADOQuery1.SQL.Add('gzb where 日期 =var0');
    把条件的冒号去了。
      

  6.   

    同意,以后遇到SQL的问题,你只要在把实际运行的SQL粘贴到数据库的查询中执行一下,看有没有问题先,
      

  7.   

    谢谢大家,我改了SQL语法错误,接着出现“List index out of bounds(0)"的提示,请问还有什么问题?
      

  8.   

    是不是参数的索引有问题DM.ADOQuery1.Parameters[0].Value改为:DM.ADOQuery1.Parameters.parambyname(var0).asstring = ...