ServerSocket向ClientSocket数据的问题?

long405 2005-10-15 06:23:25
怎样将服务器端测试表(SQLServer)中的记录内容通过通信在客户端显示出来?
...全文
180 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hero4444 2005-11-25
  • 打赏
  • 举报
回复
long405 2005-10-15
  • 打赏
  • 举报
回复
有没有人推荐看什么书比较合适像我这样水平的?
long405 2005-10-15
  • 打赏
  • 举报
回复
还希望各位兄弟多多帮助。
long405 2005-10-15
  • 打赏
  • 举报
回复
小弟我刚刚接解到这方面。
Favinc 2005-10-15
  • 打赏
  • 举报
回复
天啊,但不懂这个,如何写网络数据库应用?
long405 2005-10-15
  • 打赏
  • 举报
回复
谢谢了,小弟我刚入行不久。
long405 2005-10-15
  • 打赏
  • 举报
回复
看不懂,能解释一下吗?能说得详细点吗?
Favinc 2005-10-15
  • 打赏
  • 举报
回复
TDataSetProvider.Data或TClientDataSet.Data都是 OleVariant类型,可将其转换到内存流,然后通过ServerSocket.SendBuff或SendStream发送给ClientSocket;

给你两个很有用的过程。

procedure StreamToVariant(Stream: TMemoryStream; var V: OleVariant);
var
P: Pointer;
begin
Stream.Position := 0;
V := VarArrayCreate([0, Stream.size - 1], varByte);
P := VarArrayLock(V);
Stream.Position := 0;
Stream.Read(P^, Stream.size);
VarArrayUnlock(V);
end;

procedure VariantToStream(const V: OleVariant; Stream: TMemoryStream);
var
P: Pointer;
begin

Stream.size := VarArrayHighBound(V, 1) - VarArrayLowBound(V, 1) + 1;
P := VarArrayLock(V);
Stream.Position := 0;
Stream.Write(P^, Stream.size);
VarArrayUnlock(V);
Stream.Position := 0;
end;

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧