你必须知道的ADO.NET(九) 深入理解DataAdapter(下)
2020-12-13 02:36
标签:style blog class code java tar
由于各种原因,很久没有更新博客了!期间,几分迷茫,几分失落。令人欣慰的是,园子里还有很多热心的读者,都期待我更新博客。想到自己的文章,能对园友有所帮助,我又重拾久违的文笔,娓娓道来,朴实而不做作。在上一篇文章《你必须知道的ADO.NET(八)
深入理解DataAdapter(上)》中,我主要介绍了DataAdapter的工作原理以及基本功能。在本文中,我将通过实例的方式讲解如何使用DataAdapter对象。 在讲如何用DataAdapter获取数据之前,先讨论一个问题:如何构造一个DataApdater对象?我们知道DataAdapter是一个类,那么如何创建一个类的对象呢(再次强调,本系列教程讲的比较基础,主要针对初学者)?呵呵,当然是用构造函数啦!因此,我们有必要了解一下DataAdapter的构造函数。通过前面的知识,我们已经很清晰的知道,对于不同的数据源,ADO.NET提供了不同的Data
Provider。以SQL Server数据库为例,它拥有的DataAdapter为SqlDataAdapter类,它包括以下构造函数: 对于构造函数的理解,我们主要看他包含哪些参数。从上面我们可以知道,SqlDataAdapter类包含4个显式的构造函数。因此,我们必须用上述4个构造函数中的一种来实例化SqlDataAdapter类(创建SqlDataAdapter对象)。 1.1 SqlDataAdapter()
第一个构造函数相对来说比较简单,它不包含参数。我们可以轻松的得到一个SqlDataAdapter对象: OK,so easy! 1.2 SqlDataAdapter(SqlCommand selectCommand)
第二个构造函数稍微复杂点,它包含了一个SqlCommand类型的参数。我们可以这样创建一个SqlDataAdatpter对象: 1.3 SqlDataAdapter(string selectCommandText, SqlConnection
selectConnection)
第三个构造函数,它包含了2个参数。第一个参数是字符串类型,它接受一个查询指令。第2个参数是SqlConnection类型,它表示一个连接对象。OK,我们还是写个例子吧! 1.4 SqlDataAdapter(string selectCommandText, string
selectConnectionString)
最后一个构造函数,它也包含了2个参数。2个参数均为字符串类型:第一个参数,它接受一个查询指令;第二个参数,它表示一个连接字符串。同样,我们也写个例子。
上面我详细了的介绍了如何构造一个DataAdapter对象。之所以很详细,因为只有构造好一个DataAdapter对象,我们才能发挥出它的功能。其中,它一个非常重要的功能就是填充数据到DataSet。SqlDataAdapter类除了有4个构造函数之外,还包含多个Fill()方法(方法重载)。一般来说,用的比较多的是int Fill(DataTable dt), int
Fill(DataSet ds),这2个方法分别接受 DataTable
参数和 DataSet
参数。拥有Fill()方法,我们可以轻松地将外部数据源中的数据填充到DataSet中。废话不多说,还是写个实例来加深理解。 输出结果:
在本节中,我们主要学习了Adatapter对象的构造函数以及如何填充数据到DataSet。Adatapter构造函数比较多,特点鲜明。在实际开发中,你可以选择一种合适的构造函数来创建DataAdapter对象。就我个人经验来说,第2个和第3个构造函数用的比较多。如果查询指令不带参数,则使用第3个构造函数;如果查询指令带参数,则使用第2个构造函数。 你必须知道的ADO.NET(九) 深入理解DataAdapter(下),搜素材,soscw.com 你必须知道的ADO.NET(九) 深入理解DataAdapter(下) 标签:style blog class code java tar 原文地址:http://www.cnblogs.com/liuhaorain/p/2432243.html摘要
目录
1. 如何构造一个DataAdapter对象?
public SqlDataAdapter();
public SqlDataAdapter(SqlCommand selectCommand);
public SqlDataAdapter(string selectCommandText, SqlConnection selectConnection);
public SqlDataAdapter(string selectCommandText, string selectConnectionString);
提示:如果类中没有声明构造函数,创建对象时,将使用默认构造函数(无参数,无方法体)。如果类中显示声明了构造函数(一个或者多个),那么只能用声明的构造函数来实例化类(系统将不会创建默认构造函数)。
SqlDataAdapter ada = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
SqlDataAdapter ada = new SqlDataAdapter(cmd);
string selCmdStr = "select * from tb_SelCustomer";
SqlConnection conn = new SqlConnection();
SqlDataAdapter ada = new SqlDataAdapter(selCmdStr, conn);
string selCmdStr = "select * from tb_SelCustomer";
string connStr = @"Data Source=.\SQLEXPRESS; Initial Catalog=db_MyDemo; Integrated Security=SSPI";//构造连接字符串
SqlDataAdapter ada = new SqlDataAdapter(selCmdStr, connStr);
2. 填充数据到DataSet
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Data;
6 using System.Data.SqlClient;
7
8 namespace DataAdapter2
9 {
10 class Program
11 {
12 static void Main(string[] args)
13 {
14 string connStr = @"Data Source=.\SQLEXPRESS; Initial Catalog=db_MyDemo; Integrated Security=SSPI";//连接字符串
15 string selCmdStr = "select * from tb_SelCustomer";//查询指令
16
17 using (SqlConnection conn = new SqlConnection(connStr))
18 {
19 SqlDataAdapter ada = new SqlDataAdapter(selCmdStr, conn);
20
21 DataSet ds = new DataSet();
22 ada.Fill(ds);
23
24 if (ds.Tables.Count > 0)
25 {
26 PrintDataTable(ds.Tables[0]);
27 }
28 }
29
30 Console.Read();
31 }
32
33 ///
3. 总结
文章标题:你必须知道的ADO.NET(九) 深入理解DataAdapter(下)
文章链接:http://soscw.com/essay/25938.html