Chinaunix首页 | 论坛 | 博客
  • 博客访问: 743897
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:37:55

        ADO.NET有两个重要组成部分,即DataSet和.NET数据提供者。在前几节的例子中,已经使用了DataSet和SqlDataAdapter。可能读者对这些类还不熟悉,本文将进行详细介绍。

        .NET数据提供对象分为三类,包括SQL数据提供者、OLE DB数据提供者和ODBC数据提供者。其中SQL数据提供者仅支持SQL Server7.0及更高版本,OLE DB数据提供者支持Access、和SQL Server等,ODBC数据提供者支持的类型较多,分别包括Access、、SQL Server、MySql和VFP(Visual FoxPro)等。

        在.NET数据提供者中定义的对象,前面必须带有该提供者的标志。如上一节使用的SqlDataAdapter,因为它定义在SQL数据提供者内,所以要加前缀Sql。在另两个数据提供者内一般加前缀OleDb和Odbc。

        .NET数据提供者的对象包括Connection、Command、CommandBuilder、DataReader和DataAdapter。

        下面通过例子对以上对象进行说明。

        (1)打开VS2008,在D:\\ch14目录下建立名为ProviderTest的应用程序。

        (2)打开工程,为当前窗体添加一个TextBox和一个非类型化的DataSet。从工具箱中直接将DataSet拖入当前窗体。

        (3)本例主要通过代码方式将数据库中的数据写入到DataSet,然后再从DataSet中表的列名导出。这需要引入两个命名空间System.Data和System.Data.SqlClient。接着为当前窗体的Load事件添加如下代码。

        SqlConnection sc = new SqlConnection(@"Data Source=(local);Integrated Security=SSPI;"+"Initial Catalog=StudentInf");

        sc.Open();

        SqlCommand cmd = new SqlCommand();

        cmd.CommandText = "select Name,Sex,Age from Class1";

        cmd.CommandType = CommandType.Text;

        cmd.Connection = sc;

        SqlDataAdapter sd = new SqlDataAdapter();

        sd.SelectCommand = cmd;

        sd.Fill(this.dataSet1);

        textBox1.Text = this.dataSet1.Tables[0].Columns[0].ColumnName;

        sc.Close();

        本例仍然采用本章前面自建的数据库StudentInf,先将它的前三列数据填充到dataSet1中,再从其中读出第一列的列名。

        下面进行代码解释。

        第一个需要解释的是连接对象SqlConnection,它包含在System.Data.SqlClient命名空间中,它提供了到数据源的连接及相关连接细节,创建语法如下所示。

        SqlConnection sc = new SqlConnection(@"Data Source=(local);Integrated Security=SSPI;"+"Initial Catalog= StudentInf");

        sc.Open();

[1]   

【责编:michael】

--------------------next---------------------

阅读(350) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~