本人设计一数据库有一FIND字段,是TEXT类型。里边的存储类型是以','搁开的,怎样才能把数据分开,并存储到另一个数据库中,在DELPHI中怎么实现,还有怎样向字段里写入数据。
实例:
     字段名            FIND
     数据记录          a,b,c,d,e请高手告诉我怎样操作?在线等待,可以另行开贴送分!!

解决方案 »

  1.   

    (1)取出数据
         adoquery.sql.text := 'select [find] from [tablename]';
    (2)分解数据并入库
         var
           strList: TStringList;
         begin
           strList := TStringList.Create;
           strList.Delimiter := ',';
         循环
           strList.DelimitedText := adoquery.fields[0].asString; 
           循环
              把 STRLIST的每个元素付给另一个 数据组件,然后插入到另外的库
         end;
      

  2.   

    var
      i:integer;
      s,strsql:string;
      sl:TStringList;sl:=TstringList.Create;
          sl.Delimiter:=',';
    adoquery.sql.add('select find from tablename');
    for i:=0 to adoquery.recordcount-1 do
      begin
        s:=adoquery.fieldbyname('find').value;
        sl.DelimitedText:=s;
        for i:=0 to sl.Count-1 do
          begin
            //数据入库
          end;
       end;
      

  3.   

    请问Delimiter属性找不到
    是为什么?
      

  4.   

    Delimiter property (TStrings)
    ==========================================================
    Specifies the delimiter used by the DelimitedText property.UnitClasses
      

  5.   

    var
      s : string;
      i : integer;
    begin
    query1.sql.add('select find from tablename');
    query1.open;
    while not query1.eof do
    begin
      s :=query1.fieldbyname('find').asstring;
      query2.sql.clear;
      query2.sql.add('insert into tablename ('find')values(:find)');
      i :=pos(',',s);
      query2.ParamByName('find').Value:=copy(s,1,i-1);
      delete(s,1,i)
      .....
      query2.ExecSQL
    query1.next
    end;
      

  6.   

    'select find from tablename'
    POS
    COPY