前台跟踪结果
    T = 'aaaaaaaaaaa','bbbbbbbbbb','
   因其要作为一个参数传递给存储过程(应该为'aaaaaaaaaaa','bbbbbbbbbb'),故在前台要截取字符串。
   用 Delete(T,Length(T),2); 没截取掉,是不是写错了。
  程序大概:
   if ADOQuery2.RecordCount > 1 then
    begin
      T := '';
      while not ADOQuery2.Eof do
      begin
        T := T + ADOQuery2.Fields[0].AsString;
        if K = ADOQuery2.RecordCount - 1 then
        begin
          break;
        end
        else
          T := T + ''',''';
        ADOQuery2.Next;
      end;
      Delete(T,Length(T),2);
    end;

解决方案 »

  1.   

    >>用 Delete(T,Length(T),2); 没截取掉,是不是写错了。
    是寫錯了, 但我不知道你要得到什麼!
      

  2.   

    对aiirii(ari) :
    前台跟踪结果
        T = 'aaaaaaaaaaa','bbbbbbbbbb','
    而后台需要的是 将 'aaaaaaaaaaa','bbbbbbbbbb' 传递给存储过程一参数 @ccc
    使满足 
    ..where ccc in (@ccc) 
    ........
    应该怎样改写上述程序?
    谢谢!
      

  3.   

    我试过了,截掉的,你没有做一个断点试试吗,我是 直接付值给变 量的
    能截掉的,你做一个断点看一下有没有执行你的Delete那条语句
      

  4.   

    修改如下試試:   if ADOQuery2.RecordCount > 1 then
        begin
          T := '';
          while not ADOQuery2.Eof do
          begin
            if K = ADOQuery2.RecordCount then break;
            T := T + ADOQuery2.Fields[0].AsString;
              T := T + ',';
            ADOQuery2.Next;
          end;
        end;