.net----数据库的访问ADO.NET、DataAdapter和DataSet

前言

ADO.NET的概述

使用ADO.NET连接和操作数据库

使用DataAdapter和DataSet访问数据库

ADO.NET的概述

ADO.NET

  • .NET Framework提供的数据访问服务的类库
  • 提供对关系数据、XML和应用程序数据各种数据源的一致访问
  • 应用程序使用ADO.NET连接到数据源,检索、处理和更新数据

数据源

  • SQL Server数据源:System.Data.SqlClient命名空间
  • OLEDB数据源:System.Data.OleDb命名空间
  • ODBC数据源:System.Data.Odbc命名空间
  • Oracle数据源:System.Data.OracleClient命名空间

访问处理数据类库的两个组件:

  • .NET Framework 数据提供程序

  • DataSet
    在这里插入图片描述

  • Connection:建立与数据源的连接

  • Command:对数据源执行各种SQL命令

  • DataReader:从数据源中抽取数据(只读)

  • DataAdapter:用数据源填充DataSet

引用System.Data.dll和System.Xml.dll

使用ADO.NET连接和操作数据库

使用数据提供程序访问数据库操作的典型步骤:

(1)建立数据库连接

创建Connection对象连接到特定的数据库

(2)创建SQL命令

使用Command对象来执行命令并从数据源中返回结果

(3)执行SQL命令

Command对象的Execute方法:ExecuteReader,ExecuteScalar,ExecuteNonQuery

(4)处理SQL命令结果

使用DataReader对象的Read方法可从查询结果中获取行
向DataReader传递列的名称或序号引用,可以访问返回行的每一列

查询数据库表数据

// (1)连接到数据库
String connString = @"Data Source=(LocalDB)\v11.0;Initial Catalog=Northwind;
AttachDbFilename=C:\C#\DB\Northwnd.mdf;Integrated Security=True;";
String commandTextQuery = "SELECT RegionID, RegionDescription FROM Region";

using (SqlConnection connection = new SqlConnection(connString))
{  connection.Open();
// (2)创建SqlCommand命令
            SqlCommand cmdQuery = new SqlCommand(commandTextQuery, connection);
// (3)执行SqlCommand命令并返回结果
SqlDataReader reader = cmdQuery. ExecuteReader();
Console.WriteLine("Northwind.MDF数据库的Region表的内容如下:");
Console.WriteLine("地区编号\t地区说明");
//(4)通过循环列表显示查询结果集
while (reader.Read()){ Console.WriteLine("   {0} \t\t {1}", reader[0], reader[1]); }
reader.Close();  //关闭查询结果集
}

在这里插入图片描述

插入数据库表数据

先建立数据库连接

然后使用SQL Insert语句创建命令,并使用Command的Parameters 属性来设置输入参数

SqlCommand cmdInsert = new SqlCommand(commandTextInsert, connection);
cmdInsert.Parameters.AddWithValue("@id", 5);

最后使用命令的ExecuteNonQuery()方法执行数据库记录插入操作,并根据返回的结果判断插入的结果

int result = cmdInsert.ExecuteNonQuery();
if (result == 1) { Console.WriteLine("插入记录操作成功."); }
else { Console.WriteLine("插入记录操作失败."); }

更新数据库表数据

 String commandTextUpdate = "Update Region Set RegionDescription = @name WHERE RegionID = @id";

删除数据库表数据

String commandTextDelete = "DELETE FROM Region WHERE RegionID = @id";

使用存储过程访问数据库

SqlCommand cmdQuery = new SqlCommand("Ten Most Expensive Products", connection);
cmdQuery.CommandType = CommandType.StoredProcedure;

使用DataAdapter和DataSet访问数据库

使用DataAdapter和DataSet访问数据库的典型步骤:

(1)建立数据库连接

通过创建Connection对象连接到特定的数据库
DataAdapter用于从数据源检索数据并填充DataSet中的表,还将对DataSet的更改解析回数据源,用Command对象检索数据

(2)从DataAdapter填充DataSet

DataAdapter的Fill方法使用DataAdapter的SelectCommand的结果集来填充DataSet
Fill方法使用DataReader对象隐式地返回用于在DataSet中创建表的列名称和类型

(3)操作和处理DataSet

以断开式操作DataSet的数据库表
包括数据的查询、插入、更新和删除等操作

(4)使用DataAdapter更新数据源

调用DataAdapter的Update方法,可将DataSet中的更改解析回数据源

//(1)连接到数据库
String connString = @"Data Source=(LocalDB)\v11.0;Initial Catalog=Northwind;
AttachDbFilename=C:\C#\DB\Northwnd.mdf;Integrated Security=True;";
String selectCommandText = "SELECT RegionID, RegionDescription FROM Region";
using (SqlConnection connection = new SqlConnection(connString))
{connection.Open();

//(2)创建DataAdapter
SqlDataAdapter adapter = new SqlDataAdapter(selectCommandText, connection);
DataSet dataSet = new DataSet();//创建DataSet

//(3)从DataAdapter填充DataSet
adapter.Fill(dataSet, "Region");
Console.WriteLine("Northwind数据库的Region表的内容如下:");
Console.WriteLine("地区编号 \t 地区说明 ");

//(4)操作和处理DataSet
foreach (DataRow row in dataSet.Tables["Region"].Rows)
{ Console.WriteLine("  {0} \t\t {1}", row["RegionID"], row["RegionDescription"]);}

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉卧考场君莫笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值