如何写SQL的删除语句才不会出错?
                    ADOQuery1.SQL.Clear;
                    ADOQuery1.Open;
                    ADOQuery1.Edit;
                    ADOQuery1.SQL.Add('delete from PROBLEM_SET where ID='+Edit4.Text);
                    ADOQuery1.Post;这是我的语句,可是老是出错,各位大哥,拜托了.

解决方案 »

  1.   

    ADOQuery1.SQL.Add('delete from PROBLEM_SET where ID='+''''+Edit4.Text+'''');
    adoquery1.execsql;
    如果你要用POST 可以先SELECT 再 DELETE
      

  2.   

    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('delete from PROBLEM_SET where ID='+Edit4.Text); ADOQuery1.ExecSQL;
      

  3.   

    增加一个ADOQuery:                    ADOQuery2.SQL.Clear;
                        ADOQuery2.SQL.Add('delete from PROBLEM_SET where ID='''+Edit4.Text+'''');
                        ADOQuery2.ExecSQL;
                        ADOQuery1.Close;
                        ADOQuery1.Open;
      

  4.   

    ADOQuery1.SQL.Clear;
                        ADOQuery1.SQL.Add('delete from PROBLEM_SET where ID='+#39+Edit4.Text+#39);
                        ADOQuery1.ExecSQL;
      

  5.   

    ADOQuery1.close;
                        ADOQuery1.SQL.Clear;
                        ADOQuery1.SQL.Add('delete from PROBLEM_SET where ID='+Edit4.Text);
                        ADOQuery1.ExecSQL;
    Open;对于select语句
    ExecSQL对于delete,update,select,insert语句
      

  6.   

    如何让你们省一句话,看如下:
       ADOQuery1.close;
       ADOQuery1.SQL.Clear;  //不要这句
       ADOQuery1.SQL.Text:='delete from PROBLEM_SET where ID='+Edit4.Text;
      ADOQuery1.ExecSQL;
    是不是少一句?
      

  7.   

    1。delete 后面好象不需要用‘form’吧
    2。ID是什么类型的
      

  8.   

    估计是delphi语句的问题,怎么样是id等于edit里面的text
    可以用format语句的变量代替
      

  9.   

    ADOQuery1.close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Text:='delete from PROBLEM_SET where ID='+Edit4.Text;
    ADOQuery1.ExecSQL;
      

  10.   


                        ADOQuery1.SQL.Clear;
                        ADOQuery1.Open;
                        ADOQuery1.SQL.Add('delete from PROBLEM_SET where ID='+Edit4.Text);//id为数值型
    (                    ADOQuery1.SQL.Add('delete from PROBLEM_SET where ID='''+Edit4.Text+'''');//id为字符型)
                        ADOQuery1.Post;
      

  11.   

    ADOQuery1.close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Text:='delete PROBLEM_SET where ID=:aaa;  //aaa为中间变量
    ADOQuery1.Parameters.ParamByName('aaa').Value:=Edit4.Text;
    ADOQuery1.ExecSQL;
      

  12.   

    ADOQuery1.Close;
    ADOQuery2.SQL.Clear;
                        ADOQuery2.SQL.Add('delete from PROBLEM_SET where ID='''+Edit4.Text+'''');
                        ADOQuery1.prepared;                    ADOQuery2.ExecSQL;
                        
      

  13.   

    还是看看你的ID是什么类型的啊?
    注意如果是char 的话必须加引号, 如果是整形则可免掉