求助:C/S中,客户端查询数据库的解决方法

sz168888 2010-10-22 01:04:41
本人C#编程属于入门级,所以问题可能提的不够准确,请各个见谅.

最近想做一个C/S结构的软件,出现了客户端查询数据库的问题,特向大家请教下,看看有什么好的解决方法吗?

查过C#网络应用编程的书,里面提到的方法是采用流的方式,如异步TCP编程.服务器端在互联网上的,所以异步还是值得采用的方式.
流的方式当然对于单次小数据的传输比较理想,如聊天.但如果是查询数据库,尤其是数据较多时就不知道什么方式比较合适了.现在我查到的几种方式是:

1、客户端直接连接服务器端的数据库如SQL,取得数据源后,直接对本地数据控件进行绑定。

2、(这个方法是估计的,因为有些内容还没细查),客户端异步TCP向服务器端发出请求,服务器端查询SQL,得到数据源对象,然后序列化(这步不确定,因为还没查资料),然后以流的方法传给客户端,客户端反序列化,得到数据源对象,再对本地的数据控件进行绑定。

3、服务器端利用apsx,查询数据库,并显示,客户端增加一个WebBrowser控件,直接显示服务器的aspx页面。

方法1中客户端会出现数据库的密码,感觉安全性上不是很理想。

方法1、2都会存在这样的现象,比方有10万条文章,分页显示,每页20条。如果用1、2的方式,每次显示一页,向服务器请求的数据源应该都是10万条的,而其实每次只需要看到20条的,这样好象很浪费。

方法3,当然比较简单一点的实现了,但是要单独为服务器端设计aspx的页面。

写到这又总结想了下,也可能会有这样的方式,

4、直接说分页的问题,服务器端先把总的文章条数传给客户端,客户端就可以得到总的页数,客户端请求时把页码传给服务器端,服务器端根据页码在数据库中查询得到一个小的20条的数据源再传给客户端,客户端再绑定。

方法4,会减少网络传输的量,但好象会增加客户端开发的难度,分页、翻页等就不能用控件自身的方法了,要单独处理。

求助中,希望大家能给出好的建议,谢谢!

...全文
213 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
悟之思语 2010-10-25
  • 打赏
  • 举报
回复
1、直接连接数据库的连接字符串可用加密存放在客户端,所有不会有密码危险问题
2、通过webservice连接数据库注定要牺牲一些效率
3、查询的数据增加一些条,以减少数据量,比如增加起始、结束日期,默认查1天的数据,查大时间段需要编号条件等等。
4、大数据量尽量分页查询,只传输需要显示的本页数据。
……
同意
zhangming64432 2010-10-25
  • 打赏
  • 举报
回复
用WebService。
dodducs 2010-10-25
  • 打赏
  • 举报
回复
入门级就先用WebService吧。。很简单不用看书,,建个项目一看就会
zrrsj 2010-10-25
  • 打赏
  • 举报
回复
不会啊我也不会5555
sz168888 2010-10-25
  • 打赏
  • 举报
回复
WCF,比较新的技术,当时没看,先研究下再说,多谢楼上的建议,但问题还是没有得到解决
yongchaochu 2010-10-22
  • 打赏
  • 举报
回复
WEBSERVICE
[WebMethod]
public int Add()
{插入数据库操作}
客户端调用就行了
wuyq11 2010-10-22
  • 打赏
  • 举报
回复
安装客户端,连接字符串加密保存到相关位置
wcf ,或者 webservice
考虑数据同步问题
在同步设计中除了第一次同步外,后续的数据变更同步
int64 2010-10-22
  • 打赏
  • 举报
回复
1、直接连接数据库的连接字符串可用加密存放在客户端,所有不会有密码危险问题
2、通过webservice连接数据库注定要牺牲一些效率
3、查询的数据增加一些条,以减少数据量,比如增加起始、结束日期,默认查1天的数据,查大时间段需要编号条件等等。
4、大数据量尽量分页查询,只传输需要显示的本页数据。
……
随着我国老年人口数量的逐年增加,人口抚养比也在迅速攀升,越来越多的老年人将走 出家门进入养老院安度自己的晚年。同时国家和地方也相继出台了加快发展老龄事业的政策 方针,作为机构养老主要组成部分的养老院将迅猛发展。在养老院规模扩大、设施日趋完善 的同时,养老院的管理却成为制约其发展的瓶颈。当前的养老院管理系统多集在业务管理 层面,缺乏对老人的关爱和监护,造成养老院存在潜在的管理风险和完全隐患,因此急需一 套满足养老院看护管理需求的智能化管理系统。 本文依托物联网技术设计并实现了一套软硬件相结合的养老院管理系统。硬件部分融合 了物联网的相关技术,设计了腕表、读写器和无线数据继器三款硬件设备。软件部分则一 方面借鉴传统经典的养老院管理系统,设计了支持养老院日常运行的业务管理功能;另一方 面则在硬件设备的基础上,设计了针对老人的院区内外定位、摔倒检测、紧急呼叫、生命体 征检测等看护管理功能。通过本养老院管理系统的使用,将有效提高养老院的管理服务水平 和员工的工作效率,并为老人营造一个安全、人性化的养老环境。 下面将对本养老院管理系统的设计实现过程所做的工作进行概述。

111,095

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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