斗破苍穹第二季云盘漫画百度云盘,各位大大们加油 特别想看高悬赏

C#源码 - 源码下载
日期: 10:26:53 类别: 语言:简体中文 浏览次数:65
MFC开发网络下载器程序,使用Visual Studio 2013 开发,本次针对上一次版本进行了改进,主要是增加了下载进度条,还可以取消下载!...
日期: 22:19:14 类别: 语言:简体中文 浏览次数:487
使用Visual Studio 2012编写的一款秒表程序,然并卵,基本没有什么实际用处,C#编写的秒表计时器源程序主要是给新手学习的,欢迎下载...
日期: 12:22:13 类别: 语言:简体中文 浏览次数:337
大家经常看到有些软件支持换皮肤功能,学C#的同学们有没有做过这样的项目呢,本次就为大家提供一个简单的C#换皮肤功能,欢迎下载研究,大牛请直接忽略。 源码说明: 一、...
日期: 22:42:11 类别: 语言:简体中文 浏览次数:332
一款基于Visual Studio 2013开发的高考倒计时源码,超级简单的一个C#程序,时间相减就可以得到结果,再加了一个Timer。...
日期: 14:02:18 类别: 语言:简体中文 浏览次数:2976
基于C#的窗体级联下拉框应用实例,级联的下拉框,当你选择下拉框1的时候,下拉框2的值才会变,其实没什么难度,放上来或许对一些C#打基础的朋友有点帮助,在你选择了两个下...
日期: 14:30:32 类别: 语言:简体中文 浏览次数:2058
一款使用VS2013开发的二维码生成器程序,工具使用WPF基于开源项目ThoughtWorks.QRCode.dll开发的,没有复杂的生成二维码的算法,无论你是新手还是大牛,都能看的懂。看到...
日期: 14:36:56 类别: 语言:简体中文 浏览次数:1850
一款基于vs2010开发的C#摄像头源码,实现了连接摄像头并支持拍照功能,还可以关闭摄像头...
日期: 14:07:21 类别: 语言:简体中文 浏览次数:5781
一个基于C#和Oracle开发的进销存系统,现在将源代码公布给大家,这个例子只为学习,有需要的兄弟们可以拿去参考参考,大家多交流交流 由于数据库之间的主外键关系以及多表...
日期: 16:01:48 类别: 语言:简体中文 浏览次数:3878
C#实现在任务栏蓝色闪烁窗体,跟我们日常生活中聊QQ时,而QQ聊天窗口没在当前时的收到消息是一样的效果,看上边的截图您就明白了。测试时请先点击主程序窗口中的开始闪烁按...
日期: 10:05:06 类别: 语言:简体中文 浏览次数:2528
打包EXE或MSI安装程序的示例,C#文件源代码。这在编写成品软件的时候最有用处了,一般我们都需要将写好的软件打包发布,本便是最简便的一种方法,不过有些功能不够完善,仅...
日期: 09:57:26 类别: 语言:简体中文 浏览次数:3290
C#实现以流式方式读写Txt文本文件,源代码免费提供给大家下载,流方式打开文件,供C#爱好者参考学习。...
日期: 10:36:16 类别: 语言:简体中文 浏览次数:745
Excel到Lua转表工具,本次提供的是一套C#源代码,基于Visual Studio 2012 开发的,关于游戏项目的配置文件,有很多的方案,有些项目有专业的工具,有些则是直接使用json、...
日期: 21:01:00 类别: 语言:简体中文 浏览次数:2989
使用Visual Studio 2005开发的远程唤醒计算机实例,完整源码送给大家一起学习。 说明: mac地址是要开机的机子的MAC地址,可以在cmd中用 ipconfig -all 命令查询。 另外需...
日期: 09:59:08 类别: 语言:简体中文 浏览次数:1793
WPF显示gif源码提供了WPF实现显示gif动画的三种方法,大家都知道WPF的Image元素只能显示GIF图片的第一帧,而MediaElement不能加载作为资源或内嵌的资源的GIF图片,希望本...
日期: 11:18:54 类别: 语言:简体中文 浏览次数:1293
基于WPF制作的一套圆形菜单源程序,看起来没什么,但是并没有那么简单!布局6个按钮坐标才能在正确的对应位置呢,漂亮是漂亮,如果窗口宽度高度改变了,它能等比例改变宽...C#教程之利用C#实现分布式数据库查询
来源:未知
随着传统的数据库、计算机网络和数字通信技术的飞速发展,以数据分布存储和分布处理为主要特征的分布式数据库系统的研究和开发越来越受到人们的关注。但由于其开发较为复杂,在一定程度上制约了它的发展。基于此,本文提出了在.Net环境下使用一种新的开发语言C#结合ADO.Net数据访问模型来开发分布式数据库系统,大大简化了开发过程。
  1 分布式数据库系统
  就其本质而言,分布式数据库系统的数据在逻辑上是统一的,而在物理上却是分散的。与集中式数据库相比它有如下主要优点:
  & 解决组织机构分散而数据需要相互联系的问题。
  & 均衡负载。负载在各处理机间分担,可避免临界瓶颈。
  & 可靠性高。数据分布在不同场地,且存有多个副本,即使个别场地发生故障,不致引起整个系统的瘫痪。
  & 可扩充性好。当需要增加新的相对自主的组织单位时,可在对当前机构影响最小的情况下进行扩充。
  分布式数据库系统虽然有诸多优点,但它同时也带来了许多新问题。如:数据一致性问题、数据远程传递的实现、通信开销的降低等,这使得分布式数据库系统的开发变得较为复杂。幸运的是,微软的.Net开发环境为我们提供了C#开发语言和ADO.Net数据访问模型,结合两者来开发分布式数据库系统能够大大简化开发工作。
  2 远程处理框架和ADO.Net
  开发分布式数据库系统需要解决的两个重要问题是:各场地间的数据通信以及对数据库的操作及管理。使用C#结合ADO.Net能够高效、可靠地解决这两方面的问题。具体表现为,在C#中通过使用.Net远程处理框架能够方便地解决数据、命令远程传递问题;C#通过ADO.Net对数据库进行操作,使分布式数据库系统中对数据库的各种操作变得高效、可靠,同时易于解决数据一致性问题。
  2.1 .Net远程处理框架
  实现数据和命令的远程传递有三种方式。第一种是使用报文或消息的方式,把要传送的数据转化为流格式,再通过套接字编程用报文的形式发送到远程主机。此种方法麻烦,不易实现。第二种是使用Web Service,即各远程主机提供一个数据库查询服务的Web Service。这种方式只能对单个场地进行查询,无法实现多场地的联合查询。第三种是使用.Net远程处理框架(.Net Remoting Framework)技术,它将远程调用的技术细节隐藏起来,服务程序只需通过简单的设置就可以把本地对象变成为远程提供服务的远程对象,客户端可以像访问本地对象一样透明地访问远程对象,所有的消息、报文等都交给.Net Remoting对象处理,大大简化了开发。远程处理的一般过程如图1所示:
图1 远程处理过程
  首先,服务器端创建一个服务器类的实例,远程处理系统创建一个表示该类的代理对象,并向客户端对象返回一个对该代理的引用。当客户端调用方法时,远程处理基础结构连接检查类型信息,并通过信道将该调用发送到服务器进程。侦听信道获得该请求并将其转发给服务器远程处理系统,服务器远程处理系统查找(或在必要时创建)并调用被请求的对象。然后,此过程将反向进行,服务器远程处理系统将响应捆绑成消息并由服务器信道发送到客户端信道。最后,客户端远程处理系统通过代理将调用的结果返回给客户端对象。
  2.2 ADO.Net
  ADO.Net以XML为核心,是.Net数据库应用程序的解决方案。它使用离线数据结构,数据源中的数据被缓存到数据集(DataSet)对象中,用户无须锁定数据源,数据以XML格式保存。
  2.2.1 ADO.Net管理数据一致性
  在分布式数据库系统中,很可能出现多个用户同时访问和修改数据的情况,因此,对于分布式数据库系统,数据一致性是不可或缺的。ADO.Net通过使用乐观一致性方案来控制数据一致性(实际上DataSet对象被设计成支持使用乐观一致性控制机制),即数据行只有在数据库中真正被更新时才会被锁定,而在悲观一致性方案中,数据行在从被提取出来到在数据库中更新这段时间内一直被锁定。因此,使用ADO.Net能够在更少的时间内响应数量巨大的用户。
  另外,在分布式数据库系统中,还会经常遇到当用户修改自从提取出来以来已经被修改的行时,违反一致性原则。对此问题ADO.Net也作了很好地解决,即使用DataSet对象为每一条修改过的记录维护两个版本:原始版本和更新版本,在更新的记录被写回数据库之前,先要把数据集中记录的原始版本与数据库中的当前版本进行比较,如果两个版本匹配,就在数据库中更新记录;否则,就会出现违反一致性原则的错误。
  3 实例开发
  一个家用电器连锁店设有一个总部和许多分店,总部和分店以及各分店之间经常需要进行各种信息的查询(如:商品当日价目表、各店销售状况和库存信息等),对此组织机构建立分布式数据库查询系统,可实现总部和各店信息的共享,便于统一管理。
  3.1 系统设计
  3.1.1系统结构图
  系统结构如图2所示:
图2 系统结构图
  总部和各分店都配置了一台具有固定IP的服务器,其它电脑通过集线器与服务器相连,总部和各分店的服务器通过通信网络联接起来。
  3.1.2 系统实现步骤
  系统实现分为三个主要步骤。首先,为总部和各分店设计数据库。由于数据量较大,故采用SQL Server为每个分店创建销售和库存数据库,同时为总部创建员工数据库、整个连锁店的存货数据库、信用卡客户数据库以及供应商信息数据库等。其次,需要建立一个提供数据库服务(DbServer)的动态链接库(dll),将查询时所要用到的一些服务(如:远程对象的发布和获取等)和函数(如:本地异地数据表的查询、数据表的远程创建和删除、表间的连接和合并等)置入该dll中,各分店都需要使用这个dll,以便查询时对一些服务和函数进行调用。最后,根据实际需要开发客户端查询界面。
  3.2系统实现的关键技术
  3.2.1 远程对象的发布与获取
  系统运行后所要做的第一个工作是发布本地的远程对象并获取其它各店所发布的远程对象。发布远程对象时,首先要设置一个网络端口号,然后创建并注册一个通道,最后发布该服务器端的激活对象。其它场地的服务器根据IP地址和网络端口号即可方便地获取所发布的远程对象。实现远程对象发布和获取的关键代码如下:
  远程对象的发布:
//创建一个通道实例,port为指定的网络端口号
TcpChannel MyChannel= new TcpChannel (Int32.Parse(port));
//注册通道
ChannelServices.RegisterChannel(MyChannel);
//发布该服务器端激活对象
RemotingConfiguration.RegisterWellKnownServiceType( typeof ( DbServer ), &STORE&, WellKnownObjectMode.Singleton);
远程对象的获取:
//根据IP地址和端口号获取相应的远程对象
{myDbServer=(DbServer)Activator.GetObject(typeof(DbServer),&tcp://&+ip+&:&+p+&/STORE&); }
//捕捉异常
catch( NullReferenceException nullExp )
{MessageBox.Show( &指定的url地址不可到达 & + nullExp.Message );}
catch( RemotingException remExp )
{MessageBox.Show( &指定获得的对象定义不对& + remExp.Message );}
  3.2.2数据库的访问
  通过ADO.Net访问数据库,可以方便地连接数据库,将数据源中的数据导入DataSet对象中,在DataSet对象中可对数据表进行各种操作,而且DataSet对象本身也可远程传递。这为开发分布式数据库系统带来极大方便。实现数据库访问的关键代码如下所示:
//建立数据库的连接
string SqlConn = &Initial Catalog=SData Source=LUserid=Password=;&;
SqlConnection Conn= new SqlConnection
(SqlConn);
Conn.Open();//打开数据库
//将数据源中的数据导入到数据集对象
DataSet ds = new DataSet();
DataTable dt=new DataTable(&Result&);
SqlDataAdapter adapter=new SqlDataAdapter();
SqlCommand mySqlDataSetCmd =new SqlCommand
(CmdString,Conn);//CmdString为要执行的命令
adapter.SelectCommand= mySqlDataSetC
adapter.Fill(dt);
ds.Tables.Add(dt); }
{ Conn.Close();//关闭数据库的连接}&
  3.2.3 查询
  分布式数据库系统中的查询一般分为三类:本地查询、远程查询和联合查询。本地查询和集中式数据库的查询没什么区别;对于远程查询,只要获取远程对象后,调用查询函数,即可方便地实现;最复杂的是联合查询,涉及到多场地之间数据的查询、表的远程创建、传递、连接、合并等技术。下面以实例介绍联合查询的实现。
  第二连锁店要查询离其较近的第三、第四连锁店中所有北京的供应商所供应的空调的库存信息以便调货,可通过以下步骤实现。首先,获取总部以及第三、第四连锁店所发布的远程对象。接着,通过远程对象在总部创建一临时数据表t1,将查询到的所有北京的供应商信息存放在t1表中(各分店只有供应商名,并不知其所在地,只有总部才有供应商的详细信息),再将t1表保存到第三和第四连锁店。然后让t1表分别与两店的库存表作连接,找出所有北京供应商所供应的空调库存信息(如空调名称、型号、个数、价格等信息),并将连接结果t2和t3数据表返回到第二连锁店。最后对t2和t3两表进行合并,并使用DataGrid控件显示出来。上述实现中,包含了不同场地之间数据表的复制、传递、连接等,所用到的一些函数(如:远程创建数据表、表与表间的远程连接、合并等)都放在dll中,可以方便地调用。
  4 结束语
  利用C#的.Net Remoting技术能够方便地解决各场地间数据的通信问题。另外,C#通过ADO.Net访问数据库,使得对数据库的操作及管理变得更加高效、可靠。这两种技术的使用,有效地解决了开发分布式数据库系统的主要问题,大大减轻了系统开发工作量,并且提高了系统的可靠性和安全性。
-----------基于C#的全国邮政编码查询接口调用代码实例_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于C#的全国邮政编码查询接口调用代码实例
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 斗破苍穹第二季云盘 的文章

 

随机推荐