网站首页

家园论坛

老版论坛

家园博客

业界新闻

技术文档

下载中心

速查中心

图片中心

硬件资讯
上一篇:在C#中启动另一个程序的实现方法 下一篇:关于C#3.0 新特性之对象构造者
利用C#实现分布式数据库查询

来源: 作者: 添加日期:2007-11-16 19:45:39 点击次数:

 //建立数据库的连接
  string SqlConn = "Initial Catalog=Store;Data Source=Localhost;Userid=sa;Password=;";
  SqlConnection Conn= new SqlConnection
  (SqlConn);
  Conn.Open();//打开数据库
  //将数据源中的数据导入到数据集对象
  try{
  DataSet ds = new DataSet();
  DataTable dt=new DataTable("Result");
  SqlDataAdapter adapter=new SqlDataAdapter();
  SqlCommand mySqlDataSetCmd =new SqlCommand
  (CmdString,Conn);//CmdString为要执行的命令
  adapter.SelectCommand= mySqlDataSetCmd;
  adapter.Fill(dt);
  ds.Tables.Add(dt); }
  finally
  { Conn.Close();//关闭数据库的连接}

  3.2.3 查询

  分布式数据库系统中的查询一般分为三类:本地查询、远程查询和联合查询。本地查询和集中式数据库的查询没什么区别;对于远程查询,只要获取远程对象后,调用查询函数,即可方便地实现;最复杂的是联合查询,涉及到多场地之间数据的查询、表的远程创建、传递、连接、合并等技术。下面以实例介绍联合查询的实现。

  第二连锁店要查询离其较近的第三、第四连锁店中所有北京的供应商所供应的空调的库存信息以便调货,可通过以下步骤实现。首先,获取总部以及第三、第四连锁店所发布的远程对象。接着,通过远程对象在总部创建一临时数据表t1,将查询到的所有北京的供应商信息存放在t1表中(各分店只有供应商名,并不知其所在地,只有总部才有供应商的详细信息),再将t1表保存到第三和第四连锁店。然后让t1表分别与两店的库存表作连接,找出所有北京供应商所供应的空调库存信息(如空调名称、型号、个数、价格等信息),并将连接结果t2和t3数据表返回到第二连锁店。最后对t2和t3两表进行合并,并使用DataGrid控件显示出来。上述实现中,包含了不同场地之间数据表的复制、传递、连接等,所用到的一些函数(如:远程创建数据表、表与表间的远程连接、合并等)都放在dll中,可以方便地调用。

  4 结束语

  利用C#的.Net Remoting技术能够方便地解决各场地间数据的通信问题。另外,C#通过ADO.Net访问数据库,使得对数据库的操作及管理变得更加高效、可靠。这两种技术的使用,有效地解决了开发分布式数据库系统的主要问题,大大减轻了系统开发工作量,并且提高了系统的可靠性和安全性。

本新闻共3页,当前在第3页  1  2  3  

 
设为首页 | 加入收藏 | 业务办理 | 友情链接 | 论坛版面 | 浙ICP备07502118号 |