请教一个delphi问题
现有客户端和服务端程序,使用socket通讯,客户端通过socket发送查询参数给服务端,服务端通过监听端口接受到这个参数后形成一个完整的sql查询语句,然后连接数据库查...
现有客户端和服务端程序,使用socket通讯,客户端通过socket发送查询参数给服务端,服务端通过监听端口接受到这个参数后形成一个完整的sql查询语句,然后连接数据库查询出结果。
请问现在如何将查询出来的结果返回给客户端?我希望客户端使用dbgrid形式将数据显示出来而不是一个简单的memo或者sle显示
问题点1:选择用什么样的‘媒介’来保存这个查询数据集,然后发送给客户端(数据包发送的话貌似必须是已知的大小,即使是简单的string,如果不写成string[10]这样带大小的貌似sendbuff的时候会出错),想知道选用什么样的数据类型来sendbuff进去
问题点2:客户端接受到的数据通过什么样的方式能让dbgrid显示接受到的数据集呢。
最好直接贴出客户端跟服务端的重要部分的源码,谢谢了! 展开
请问现在如何将查询出来的结果返回给客户端?我希望客户端使用dbgrid形式将数据显示出来而不是一个简单的memo或者sle显示
问题点1:选择用什么样的‘媒介’来保存这个查询数据集,然后发送给客户端(数据包发送的话貌似必须是已知的大小,即使是简单的string,如果不写成string[10]这样带大小的貌似sendbuff的时候会出错),想知道选用什么样的数据类型来sendbuff进去
问题点2:客户端接受到的数据通过什么样的方式能让dbgrid显示接受到的数据集呢。
最好直接贴出客户端跟服务端的重要部分的源码,谢谢了! 展开
2个回答
2012-06-11 · 知道合伙人软件行家
关注
展开全部
我觉得你的功能使用 datasnap 来最合适,如果用socket通讯,对于像数据库这种,如果是数据量比较大,数据比较复杂的话,两者之间的通讯比较麻烦。
而用 datasnap ,可以在客户端执行服务器端编写好的功能函数,比如直接在客户端调用服务器端数据显示在dbgrid里,而且编程上个人觉得也不难。
而用 datasnap ,可以在客户端执行服务器端编写好的功能函数,比如直接在客户端调用服务器端数据显示在dbgrid里,而且编程上个人觉得也不难。
追问
我了解了下datasnap,就是我想实现的功能,但是找不到demo,因为我用的是delphi7,您手里有一些简单的例子吗?或者可以发一份给我吗?我的邮箱:550328976@qq.com
谢谢了!
展开全部
这个你要做数据包进行发送
建立一个全局单元,服务端和客户端都调用它,保证两边对应的包是一样的。
如
TUser = record
Current, //当前编号
Count :Integer; //总数据数
ID :Integer;
Name :String[20];
end;
然后发送包给客户端,当Current和Count相等时表示接收结束
我建议你用TCP或UDP控件通 讯较方便
建立一个全局单元,服务端和客户端都调用它,保证两边对应的包是一样的。
如
TUser = record
Current, //当前编号
Count :Integer; //总数据数
ID :Integer;
Name :String[20];
end;
然后发送包给客户端,当Current和Count相等时表示接收结束
我建议你用TCP或UDP控件通 讯较方便
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询