首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ADO.NET >> 正文

ADO.NET中的.NET数据提供者

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

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

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

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

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

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

        (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();

        Data Source是指访问的SQL Server的名称,如果SQL Server运行在本机上,直接用local即可。Integrated Security是指登录到数据库时采用内置集成安全,这样可以省去用户名和密码。SSPI全称为Security Support Provider Interface,它用于指定邓录数据库时的安全类型。Initial Catalog表示需要登录的数据库名。

        建立完连接对象,还需要对它进行打开,这里选择SqlConnection的Open()方法。

        建立并打开连接对象以后,下面要做的工作是可能是查询、修改或删除数据库中的内容。显然这里需要SQL命令,这也就是SqlCommand对象所要完成的事情,如下所示。

         SqlCommand cmd = new SqlCommand();
        cmd.CommandText = "select Name,Sex,Age from Class1";
        cmd.CommandType = CommandType.Text;
        cmd.Connection = sc;

        CommandText是指获取或设置对数据源执行的Transact-SQL语句。

        select Name,Sex,Age from Class1

        表示从表Class1中选择Name、Sex和Age 三列数据。CommandType用于解释CommandText的类型,它有三个选择项,包括StoredProcedure(存储过程的名称)、TableDirect(表的名称)和Text(SQL文本命令)。最后还需要将该命令对象关联到打开的数据连接。

[1] [2] 下一页

【责编:michael】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航