用C#和ADO.NET建立一个数据绑定网格

ado|数据

  数据访问是任何应用程序的基础。在本文中,我将说明如何用C#和ADO.NET访问基于SQL Server的数据,以及如何在一个数据绑定的网格控件中显示数据。我用一个简单的C#应用程序为例。

  ADO.NET结构

  使用ADO.NET不需要维持一个连接。另外,在ADO.NET中,只需用几行代码,你就可以从一个数据源转到另一个数据源。

  ADO.NET的核心对象有Command, Connection, DataReader和DataAdapter。它们是.NET中所有数据操作的基础。

  核心ADO.NET命名空间

  System.Data:是其它命名空间的基础,并补充DataTable, DataColumn, DataView和Constraints对象。

  System.Data.Common:定义由各种数据提供者共享的普通对象,包括DataAdapter, DataColumnMapping和DataTableMapping。它为数据提供者所用,包含用于访问数据源的集合。

  System.Data.OleDb:定义你用来连接到数据源并修改各种数据源中的数据的对象。它作为普通数据提供者而编写,由包含SQL Server、微软Oracle OLE DB Provider和微软Jet 4.0 Provider驱动器的.NET Framework提供执行。当你需要连接到许多不同的数据源时,就会用到这个命名空间,并且你希望达到比提供者更佳的性能。

  System.Data.SqlClient:直接利用SQL Server应用程序接口,提供比更为普通的System.Data.OleDb更佳的性能。这是一个专门为SQL Server 7.0及以上版本建立的提供者命名空间。

  System.Data.SqlTypes:专门为SQL Server的数据类型提供类。这个命名空间专为SQL Server而设计,并提供比其它命名空间更佳的性能,但只应用于SQL Server后端。

  System.Data.Odbc:处理所有兼容ODBC驱动器。只有.NET Framework 1.1支持这个命名空间,所以安装新版Framework就能获得它。

  数据网格实例

  给表格dataGrid1增加一个数据网格,如图1所示。为了让列表A中的样本代码能够运行,需要利用下面的命名空间:

  using System.Data;

  using System.Data.OleDb;

  列表A

  using System.Data;
  using System.Data.OleDb;

  private void Form1_Load(object sender, System.EventArgs e)
  {
   string strConn, strSQL;
   strConn = "Provider=Microsoft.JET.OLEDB.4.0;"+"data source=" + "C:\\DataAccess\\Northwind.mdb";strSQL = "SELECT CustomerID, CompanyName, ContactName, ContactTitle, " ;
   strSQL = strSQL + "Address, City, Country FROM Customers";
   OleDbDataAdapter da = newOleDbDataAdapter(strSQL, strConn);
   DataSet ds = newDataSet();
   da.Fill(ds, "Customers");
   dataGrid1.DataMember = "Customers";
   dataGrid1.DataSource=ds;
  }

  上面的代码定义了两个变量:strConn和strSQL。StrConn使用OLEDB设定利用JET数据库所需的连接字符串,并指向当地计算机的Northwind.mdb数据库位置。StrSQL指定我想在Access数据库(Northwind.mdb)上运行的查询。

  接下来,我定义OleDBDataAdapter对象da并将它提交给查询语句(strSQL)和连接字符串(strConn)。注意,我在例子中没有建立一个连接(Connection)对象。

  然后,我定义数据组ds,它被用来从网格控件中的用户表(Customers)中获得实际数据。我使数据网格控件dataGrid1的DataMember特性指向到我获得数据的表格,并将控件DataSource的特性设定给DataSetds。(DataMember特性获得/设定DataSource中的一个绑定控件的表格,DataSource特性获得/设定用来安装控件的数据源。)当你运行列表A中的代码时,结果如图2所示。

  我显示C:\\DataAccess\\Northwind.mdb数据库中的数据,只看到我在选择语句中选中的栏。如果选择的列数或栏数超过页面的大小,网格控件会自动显示滚动条。

  现在你了解了在C#应用程序中使用ADO.NET,以及建立一个数据网格控件显示查询返回数据的基本原理了。

时间: 2024-12-29 11:03:22

用C#和ADO.NET建立一个数据绑定网格的相关文章

ADO.NET 2.0:如何建立一个 DataView

借助于DataView,我们便能够为储存于DataTable中的数据建立不同的视图.比方说,通过DataView,您可以使用不同的排序顺序检视DataTable中的数据, 亦或是根据数据列状态或筛选表达式来筛选DataTable中的资料.重要的是,当 我们需要替DataTable中的数据建立不同的视图而且需要将这些数据绑定到窗体 上的控件时,更需要使用DataView来完成. DataView提供的是一种动态的数据视图,也就是说,其内容.排序顺序.与 成员会反应出来源DataTable中的任何变

ADO如何建立修改删除表

ADO如何建立修改删除表 可以使用ASP在程式当中直接建立修改删除表 与表有关的SQL语法如下: 建立一个表:CREATE TABLE表达式. 修改一个表:ALTER TABLE表达式. 删除一个表:DROP TABLE表达式. 建立一个索引:使用CREATE INDEX 或 ALTER TABLE表达式. 删除一个索引:DROP INDEX表达式. 详细介绍如下: CREATE TABLE表达式 CREATE TABLE表达式,建立一个新的表. 语法如下: CREATE TABLE 新表(新字

openni opencv linux-如何在linux下建立一个着openni和opencv的工程?

问题描述 如何在linux下建立一个着openni和opencv的工程? 如何在linux下建立一个着openni和opencv的工程?麻烦大神们详细解说下,不胜感激!!!!

前端-用php和mysql为我们实验室建立一个小网站,请问有没有合适的模板源码?

问题描述 用php和mysql为我们实验室建立一个小网站,请问有没有合适的模板源码? 自己在chinaz上下载了几个,但是不尽人意,希望有路过的朋友能够提供帮助,只有建立一个链接数据库的小网站,不用线上上运行,所以模板不用太复杂,前端有了就好,谢谢 解决方案 你应该说明网站用途,根据用途可以决定里的要用什么,只链接数据库使用phpadmin就好 解决方案二: 这样谁说你更想要的是前端的页面

如何使用SQLyogEnt来建立一个简单的数据库

如果你选择PHP进行网站建设,那你必须懂得php建立数据库,那用mysql数据就是必须的了.刚接触php的朋友也许对这个mysql数据库很陌生,但如果有一款非常好用的数据库管理工具,那是用起来就方便多了,笔者几天就向大家介绍一款mysql的管理工具SQLyogEnt,笔者是用的 SQLyogEnt是英文版,目前好像没有中文版,由于功能强大,所以SQLyogEnt很受PHP用户的喜爱,接下就用实例来讲解下如何使用 SQLyogEnt来建立一个简单的数据库. 今天我建立的数据库名叫"mydb&quo

希望建立一个循环,i值从start递变到end,不知道该怎么写

问题描述 希望建立一个循环,i值从start递变到end,不知道该怎么写 假如end>start,那么可以 for(int i=start,i<=end,i++){} 假如end for(int i=start,i>=start;i--){} 有没有写法可以统一一下,不要分开来写 解决方案 1.循环前先判断, int small=end>start:start?end; int max=end>start:end?start; for(int i=small,i<=ma

服务器问题-如何建立一个服务器,内外网问题

问题描述 如何建立一个服务器,内外网问题 请教,建一个ad要如何做. 另外我要建一个公司邮箱及一个vpn该如何设置. 还有如何把内外网分开 如有图片,请附上. 请教,请教.

Ultradev实例教程:2.1 建立一个简单的access数据库

access|教程|数据|数据库 第二章:设置数据库 第一节.建立一个简单的access数据库 这一节我们将学习有关数据库创建的内容,用过Access创建数据库的朋友可以略过不看. 打开Microsoft Access,选择 文件 -〉新建数据库,然后选择一个位置保存你的数据库文件,这里我们按它默认的db1.mdb命名保存. 保存数据库后我们看到的是下面的界面,双击使用设计器创建表,开始创建一个数据表.我们这里的应用你只需照着步骤一步步做下去,即使你以前从没接触过数据库也没有问题,如果你想做深层

如何建立一个 XML 的开发环境

xml 学习 XML 的最佳途经是从简单的开发入手,大胆实践,循序渐进.XML 的妙处只有在开发过程中才能深入体会,离开了开发是学不好 XML 的.因此学习 XML 首先应该建立一个 XML 的开发环境.我给大家介绍一下怎样建立一个基于 Java 的 XML 开发环境.因为我现在没办法用到 Linux,所以所有的例子都是在 Windows 上做的.但是这里介绍的所有的软件在 Linux 和 Windows 上都是可以用的,用法也大同小异.而且除了 Sun 的 JRE 以外都是 open sour