用数据适配器填充数据集
// 用数据适配器填充数据集
// PopDataSet.cs
using System;
using System.Data;
using System.Data.SqlClient;
namespace Ch12
{
class PopDataSet
{
static void Main( string[] args)
{
string strConn = "server=.\\MSSQL2012;integrated security=true;database=Northwind;";
string sql = "select * from Region";
SqlConnection conn = new SqlConnection(strConn);
try
{
conn.Open();
// 数据适配器SqlDataAdapter的四个构造函数
// 使用无参数的构造函数,以后指定SQL和连接
// SqlDataAdapter da = new SqlDataAdapter();
// 给构造函数传送SqlCommand对象
// SqlDataAdapter da = new SqlDataAdapter(cmd);
// 传送Sql字符串和连接字符串
// SqlDataAdapter da = new SqlDataAdapter(sql, strConn);
// 传送Sql字符串和连接SqlConnection
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
// 创建数据集,显式的为DataSet命名为 MyDataSet
// DataSet ds = new DataSet("MyDataSet");
// 使用无参数的构造函数,数据集的名称默认为NewDataSet
// 可以使用DataSetName属性改变数据集的名称
DataSet ds = new DataSet();
// 用数据适配器da向数据集ds中填充数据,并命名为 region
da.Fill(ds, "region");
// 从数据集中获取指定表
// DataTable dt = ds.Tables[0];
DataTable dt = ds.Tables[ "region"];
// 使用DataTable的Columns属性可以获得DataColumn的集合,
// 其索引器接受列名或基于0的索引。如:
// DataColumn col = dt.Columns["regionID"];
// DataColumn col = dt.Columns[0];
// 获取列的名称 col.ColumnName
// DataRow代表行中的数据。
// 访问DataTable中的行,可以使用Rows属性,其索引器接受基于0的索引
// DataRow row = dt.Rows[2];
// 显示数据
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
Console.WriteLine(row[col]);
Console.WriteLine( "".PadLeft(10,'-' ));
}
}
catch ( Exception ex)
{
Console.WriteLine( "发生错误:" + ex);
}
finally
{
conn.Close();
Console.ReadLine();
}
}
}
}
----------
1
Eastern
----------
2
Western
----------
3
Northern
----------
4
Southern
----------