使用C/S模式的一个软件,我想让客户端给服务器发送一组数据:
名称   年龄  工龄  工资等数据服务器端接收后加入数据库,我想问一下这个数据如何传输呢?使用一个字符串还是使用record结构体呢如果使用字符串如何进行处理呢?
如果使用record结构体如何传输呢?

解决方案 »

  1.   

    建议采用xml或ini表达的字符串
      

  2.   

    你是通过什么传输,如果是通过协议传输,就传输流,字符串,record都可以流的形式穿过去,具体组织要你自己根据情况而定了
      

  3.   


    如何将record转换成为数据流呢
      

  4.   

    就用普通的流写入record的内容,操作上没什么区别
      

  5.   


      TMy = record
        age:Integer;
      end;
    var
      my,you:TMy;
      stream:TMemoryStream;
    begin
      my.age := 10;
      stream := TMemoryStream.Create;
      stream.Write(my,SizeOf(TMy));
      stream.Position := 0;
      stream.Read(you,SizeOf(TMy));
      ShowMessage(IntToStr(you.age));
    end;
      

  6.   

    var Data: TStrings;Data.Value['名称'] := '名称1';
    Data.Value['年龄'] := '30';
    Data.Value['工龄'] := '5';
    Data.Value['工资'] := '8000';Send(Data.Text);
      

  7.   

    哪用那么麻烦,在你的中间层加一个方法,方法加个Variant型的参数。在客户端创建一个TClientDataSet,把它当内存表创建相应的字段,然后把你的数据全都append到这个ClientDataSet里,然后调中间层的方法传入ClientDataSet的Data属性,中间层那边也创建一个ClientDataSet把传过来的Variant参数赋给它的Data属性,数据集就还原过来了。