SQLstr:='Select * from "Urladdress.dat" WHERE ID = "'+IntToStr(R_ID)+'"';
      

解决方案 »

  1.   

    你定义的SQLStr是String类型吧,String数据类型最大为255个字符,可以该用TStrings类型!!
      

  2.   

    SQLstr:='Select * from Urladdress.dat WHERE ID='+IntToStr(R_ID)+';
          
      

  3.   

    Sql.add('Select * from Urladdress.dat WHERE ID=')
    sql.add(IntToStr(R_ID))
    sql.add(...)
      

  4.   

    Var SQLList:TStringList;
    begin
      SQLList:=TStringList.Create;
      Try
        SQLList.Add('SELECT ');
        SQLList.Add('* ');
        SQLList.Add('FROM ');
        SQLList.Add('"Urladdress.dat" ');
        SQLList.Add('WHERE ');
        SQLList.Add('ID ');
        SQLList.Add('= ');
        SQLList.Add(IntToStr(R_ID));
        with MyDBISAMQuery do
        begin
          Close;
          Sql.clear;
          Sql.TEXT:=SQLList.TEXT;
          Prepare;
          Open;
          First;
        END;
      Finally
        SQLList.Free;
      end;
    END.
      

  5.   

    如果sql的条件太长,不要使用一个字符串传递。使用stringlist可以,或者先用memo控件作暂存
      

  6.   

    用TSTRING这个类就可以了,不过它也只有64K
      

  7.   

    SQLstr := 'Select * from Urladdress.dat WHERE ID=' + '" + IntToStr(R_ID) + "';