高手救命!!!!!!!(100分)

  • 主题发起人 主题发起人 fili
  • 开始时间 开始时间
F

fili

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何将数据库中读出的记录写到一个TMemoryStream中??
并且能够通过CLIENTSOCKET/SERVERSOCKET发送到服务端数据库中接受??
 
用FastNet里的NMUDP不是很简单,一步就完了吗?
帮助里面有一个十分完整的例子!
 
我现在要用的是SOCKET呀,要求用这个。。。
 
没人知道吗??!!小弟很急呀,帮帮忙
 
?????难道分太少了吗?有人回答出来的话,我可以把我的所有分都贡献出来!!!!!!
 
[:)]我想帮你,可是我用的一直都是UDP
 
Delphi 下面有个例子 demo/Internet/chart 希望对你有帮助
 
UDP是无连接的协议,我现在要求用的SOCKET,
那你对数据库记录写到TMEMORYSTREAM中怎么做的?!!!
 
告诉我怎么把数据库记录写到TMEMORYSTREAM中也行!!!发送问题我再解决
 
你要记录的字段类型?如果是字符,见下:
MyStream: TMemoryStream;
TmpString,TmpStream: String;
...
TmpString:=[从数据库取出的字段值]
TmpStream:=TmpString;
MyStream.Write(TmpStream[1], Length(TmpString));
...
 
字段类型是不一样的,而且有多种,字符的这种方法行吗?
我试试先!!先谢了
 
例子 demo/Internet/chart
 
TBlobField啊。
 
能具体点吗??我真的不知道。。
 
定义一个记录和数据库字段和相同,然后用writebuffer
TRec=record
ID: Array[0..37] Of char;
NR: Array[0..10239] Of char;
ZZ: Array[0..19] Of char;
ZLLB: Array[0..32] Of char;
GPDM: Array[0..6] Of char;
end;
Memorystream.WriteBuffer(Rec,SizeOf(TRec));
 
我现在用的就是你的这个方法,但是发送和接受会出问题。
 
我是把各种各样的类型数据全部用Byte写进一个字符串,然后把这个字符串用stream.write写进流里,
任何类型通吃!
记得接收到流以后元末远洋转换为原来的类型,否则会出错的!
 
怎么转换呀,我现在用LOADFROMSTREAM,但是不行啊。。。。5~~~~~
大吓们,谁能给个具体点的,有简单发送和接受的类似的程序都行呀
 
老哥你為什么不考慮用MIdas呢,做多層系統呢?你這樣的做法我以前也試過﹐結果是
十分失敗﹐一開始我都以為是﹐傳輸數據﹐提交這么簡單﹐做下去了才發現是捅了麻蜂窩
比如﹐并發提交啊﹐傳輸失敗的處理啊﹐網絡故障的處理啊﹐數據庫事務的處理啊﹐等等
每一個都讓你頭大一倍﹐你現在只是開了個頭而已。
就算讓你做出來﹐也肯定沒有MIDAS好.為什么不用MIDAS呢


 
接收:
MyStream:TMemoryStream;
TmpStr,Show:String;
i:Integer;
...
SetLength(TmpStr,NumberBytes);
MyStream.Read(TmpStr[1],NumberBytes);
for i:=1 to Length(TmpStr) do
begin
{ 每个TmpStr都是Byte型(也就是short int),
用IntToStr转换成字符,IntTo其他转换成其他,然后拼合
至于转换函数,查帮助,很详细}
end
 
后退
顶部