ADO.NET的概述
使用ADO.NET连接和操作数据库
使用DataAdapter和DataSet访问数据库
.NET Framework 数据提供程序
DataSet
Connection:建立与数据源的连接
Command:对数据源执行各种SQL命令
DataReader:从数据源中抽取数据(只读)
DataAdapter:用数据源填充DataSet
创建Connection对象连接到特定的数据库
使用Command对象来执行命令并从数据源中返回结果
Command对象的Execute方法:ExecuteReader,ExecuteScalar,ExecuteNonQuery
使用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(); //关闭查询结果集
}
SqlCommand cmdInsert = new SqlCommand(commandTextInsert, connection);
cmdInsert.Parameters.AddWithValue("@id", 5);
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;
通过创建Connection对象连接到特定的数据库
DataAdapter用于从数据源检索数据并填充DataSet中的表,还将对DataSet的更改解析回数据源,用Command对象检索数据
DataAdapter的Fill方法使用DataAdapter的SelectCommand的结果集来填充DataSet
Fill方法使用DataReader对象隐式地返回用于在DataSet中创建表的列名称和类型
以断开式操作DataSet的数据库表
包括数据的查询、插入、更新和删除等操作
调用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"]);}