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

数据库的访问

  • 前言
  • ADO.NET的概述
    • ADO.NET
    • 数据源
    • 访问处理数据类库的两个组件:
    • 引用System.Data.dll和System.Xml.dll
  • 使用ADO.NET连接和操作数据库
    • 使用数据提供程序访问数据库操作的典型步骤:
      • (1)建立数据库连接
      • (2)创建SQL命令
      • (3)执行SQL命令
      • (4)处理SQL命令结果
    • 查询数据库表数据
    • 插入数据库表数据
      • 先建立数据库连接
      • 然后使用SQL Insert语句创建命令,并使用Command的Parameters 属性来设置输入参数
      • 最后使用命令的ExecuteNonQuery()方法执行数据库记录插入操作,并根据返回的结果判断插入的结果
    • 更新数据库表数据
    • 删除数据库表数据
    • 使用存储过程访问数据库
  • 使用DataAdapter和DataSet访问数据库
    • 使用DataAdapter和DataSet访问数据库的典型步骤:
      • (1)建立数据库连接
      • (2)从DataAdapter填充DataSet
      • (3)操作和处理DataSet
      • (4)使用DataAdapter更新数据源

前言

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
    .net----数据库的访问ADO.NET、DataAdapter和DataSet_第1张图片

  • 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();  //关闭查询结果集
}

.net----数据库的访问ADO.NET、DataAdapter和DataSet_第2张图片

插入数据库表数据

先建立数据库连接

然后使用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"]);}

.net----数据库的访问ADO.NET、DataAdapter和DataSet_第3张图片

你可能感兴趣的:(.net,数据库,.net,microsoft)