有一个数组 tmp:array[0..199] of char 赋值后存入数据库,然后在取出和另一个同类型的数组比对。主要是如何存取数据库?
转换用的是
PChar   ->   string   :   function   StrPas(const   Str:   PChar):   string;  
  String->   Pchar:   lstrcpy(数组,pchar(字符串));   
可是不行,高手指点!

解决方案 »

  1.   

    直接赋值,string本来可以当成字符数组用。procedure TForm1.Button2Click(Sender: TObject);
    var
      a: array[1..20] of char;
      b: string;
    begin
      a[1] := 'o';
      a[2] := 'k';
      b:=a;
      showmessage(b);  //显示ok
    end;
      

  2.   

    直接赋值后作为string类型的数据存入数据库中varchar类型的字段中,如果取出来后怎么处理呢?
    要转成 数组类型的 进行比较。
      

  3.   

    试试看这个行不?
    var
      s: string;
      i: integer;
      ss:array of Char;
    begin
      s:='abcdefg';
      SetLength(ss,Length(s)-1);
      for i:=0 to Length(ss)-1 do
      begin
        ss[i]:=s[i+1]
      end;
    end;
      

  4.   

    直接赋值后作为string类型的数据存入数据库中varchar类型的字段中,如果取出来后怎么处理呢?要转成 数组类型的 进行比较。-------------------------------------一定要用字符数组比较? 我给一个思路,你可以把待比较的数组也转换成一个字符串,然后比较这两个字符串。能满足你的要求么?