试着用sql.Add('delete from table where ProjectID=:str');
再用query1.parambyname('str').asstring :=....复値

解决方案 »

  1.   

    这应该不是DELPHI的问题,应该是数据表的设计问题
      

  2.   

    SQLstr:='delete from table where ProjectID='''+str+'''';
      

  3.   

    问题解决:
      SQLstr:='delete from 项目保存表 where ProjectID=:str';
      with ADOQuery1 do begin
        close;
        sql.Clear ;
        sql.Add(SQLstr);
        ADOQuery1.Parameters.ParamByName('str').Value:=str;
        ExecSQL;
      end;为什么一定要用动态参数?报错的原因是什么?请赐教
      

  4.   

    SQLstr:='delete from table where ProjectID=:param1'
      with ADOQuery1 do 
      begin
        close;
        sql.Clear ;
        sql.Add(SQLstr);
        params[0].asstring:=str;
        ExecSQL;
      end;
      

  5.   

    可能是你写成'delete from 项目保存表 where ProjectID=:XX'