编码实现>微软数据访问技术ADO.NET>使用DataSet>
2010-10-13 20:56
459 查看
编码实现>微软数据访问技术ADO.NET>使用DataSet>了解DataSet
DataSet就是一个内存数据库,DataSet内部以XML表示数据,不仅可以是数据库中数据的副本,还可以从XML,CSV文件导入记录。
DataSet的层次关系图
代码using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace FillDataSet
{
class Program
{
static void Main(string[] args)
{
const string ConnectionStr = @"Data Source=.\SQLExpress;AttachDbFilename=|DataDirectory|\Northwnd.mdf;Integrated Security=True;user Instance=True;";
using (SqlConnection conn = new SqlConnection(ConnectionStr))
{
try
{
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter daOrders = new SqlDataAdapter("Select top 2 * from orders", conn);
daOrders.Fill(ds,"orders");
Console.WriteLine("填充Orders表到DataSet成功");
SqlDataAdapter daProducts = new SqlDataAdapter("Select top 2 * from Products", conn);
daProducts.Fill(ds,"Products");
Console.WriteLine("填充Products表到DataSet成功");
SqlDataAdapter daOrderDetails = new SqlDataAdapter("Select top 2 * from [Order Details]", conn);
daOrderDetails.Fill(ds,"Order Details");
Console.WriteLine("填充Order Detail表到DataSet成功");
Console.WriteLine("访问Orders表的第一行第一列记录值是:");
Console.WriteLine(ds.Tables[0].Rows[0][0]);
//使用CreateTableReader方法显示所有的数据
DisplayResult(ds);
}
catch (SqlException ex)
{
Console.WriteLine("在处理数据的过程中发生了错误:{0}", ex.Message);
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
}
Console.Read();
}
static void DisplayResult(DataSet ds)
{
using (DataTableReader dtr = ds.CreateDataReader())
{
do
{
if (dtr.HasRows)
{
while (dtr.Read())
{
for (int i = 0; i < dtr.FieldCount; i++)
{
Console.Write(dtr[i] + " ");
}
Console.WriteLine();
}
}
else
{
Console.WriteLine("没有数据");
}
Console.WriteLine("---------------------" + Environment.NewLine);
} while (dtr.NextResult());
}
}
}
}
DataView对象比DataTable对象更多的功能,通过使用DataView对象,可以实现对数据表的排序,搜索,帅选等功能。
DataSet就是一个内存数据库,DataSet内部以XML表示数据,不仅可以是数据库中数据的副本,还可以从XML,CSV文件导入记录。
DataSet的层次关系图
代码using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace FillDataSet
{
class Program
{
static void Main(string[] args)
{
const string ConnectionStr = @"Data Source=.\SQLExpress;AttachDbFilename=|DataDirectory|\Northwnd.mdf;Integrated Security=True;user Instance=True;";
using (SqlConnection conn = new SqlConnection(ConnectionStr))
{
try
{
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter daOrders = new SqlDataAdapter("Select top 2 * from orders", conn);
daOrders.Fill(ds,"orders");
Console.WriteLine("填充Orders表到DataSet成功");
SqlDataAdapter daProducts = new SqlDataAdapter("Select top 2 * from Products", conn);
daProducts.Fill(ds,"Products");
Console.WriteLine("填充Products表到DataSet成功");
SqlDataAdapter daOrderDetails = new SqlDataAdapter("Select top 2 * from [Order Details]", conn);
daOrderDetails.Fill(ds,"Order Details");
Console.WriteLine("填充Order Detail表到DataSet成功");
Console.WriteLine("访问Orders表的第一行第一列记录值是:");
Console.WriteLine(ds.Tables[0].Rows[0][0]);
//使用CreateTableReader方法显示所有的数据
DisplayResult(ds);
}
catch (SqlException ex)
{
Console.WriteLine("在处理数据的过程中发生了错误:{0}", ex.Message);
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
}
Console.Read();
}
static void DisplayResult(DataSet ds)
{
using (DataTableReader dtr = ds.CreateDataReader())
{
do
{
if (dtr.HasRows)
{
while (dtr.Read())
{
for (int i = 0; i < dtr.FieldCount; i++)
{
Console.Write(dtr[i] + " ");
}
Console.WriteLine();
}
}
else
{
Console.WriteLine("没有数据");
}
Console.WriteLine("---------------------" + Environment.NewLine);
} while (dtr.NextResult());
}
}
}
}
DataView对象比DataTable对象更多的功能,通过使用DataView对象,可以实现对数据表的排序,搜索,帅选等功能。
相关文章推荐
- 编码实现>微软数据访问技术ADO.NET>与数据库交互
- 编码实现>微软数据访问技术ADO.NET(包括)>连接数据库
- .NET数据库编程求索之路--3.使用ADO.NET实现(SQL语句篇)(2)
- ASP.NET Core使用微软官方类库实现汉字转拼音
- MVC4使用微软企业库 dataset foreach遍历 转换成list<T>
- ASP.NET Core使用微软官方类库实现汉字转拼音
- .NET数据库编程求索之路--6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(1)
- ado.net中的DataSet使用
- ADO.NET笔记——使用DataSet返回数据
- .NET数据库编程求索之路--7.使用ADO.NET实现(工厂模式-实现多数据库切换)(4)
- ADO.NET 使用Connection对象连接数据库实现用户登录
- ASP.NET中实现把Json数据转换为ADO.NET DataSet对象
- ADO.NET使用事务出错的解决(MSDTC) <转>
- ADO.NET 更新数据库的2种方式::(1)使用DataSet对象更新数据集;(2)使用SqlCommand对象更新单条记录
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
- .NET数据库编程求索之路--4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(1)
- 使用ADO.NET类及方法实现数据库的查询并返回一个Object 数组
- 7/5 原型编码阶段: (5) 使用ADO.NET
- 在MFC里面使用ADO访问微软的ACCESS数据库 实现增删改查
- 使用C#和ADO.NET数据库访问技术,实现CRUD--20180127