请教一下大伙,我有一符串如下 :
name1,name2,name3,...
怎么把各个姓名分开来输入数据库呢
即数据库中如储存:
username
name1 
name2
name3
... 
  

解决方案 »

  1.   

    使用COPY()函数有规律分割,再往数据库里放。
      

  2.   

    procedure separateStr;
    var
      i: Integer;
      ts: TStringList;
    begin
      ts := TStringList.Create;
      ts.Delimiter := ',';
      ts.DelimitedText := StrSource;
      for i := 0 to ts.Count - 1 do
      begin
       // 这里的ts[i]就是name1,name2等等被','分开的字符串     
      // 这里把 ts[i] 输入到数据库就可以了;
        
      end;
      ts.Destroy;
    end;
      

  3.   

    下面代码测试通过
    -----------------------
    函数:
    function SplitString(const source,ch:string):tstringlist;
    var
     temp:string;
     i:integer;
    begin
     result:=tstringlist.Create;
     temp:=source;
     i:=pos(ch,source);
     while i<>0 do
     begin
       result.Add(copy(temp,0,i-1));
       delete(temp,1,i);
       i:=pos(ch,temp);
     end;
     result.Add(temp);
    end;
    --------------------------------------------------
    //调用
    procedure TForm1.Button1Click(Sender: TObject);
    var
      t: tstringlist;
      i: integer;
    begin
      t := SplitString(edit1.Text,',');//使用处
      for i := 0 to t.Count-1 do
      ShowMessage(t.Strings[i]);//测试结果
    end;