您的位置:首页 > 数据库

ADO.NET数据库基本操作

2012-08-28 22:37 369 查看
ADO.NET:给数据库提供面向对象的视图,封装了很多数据库的属性及关系,更重要的是封装和隐藏了数据库访问的细节。

DataSet对象: System.Data; dataset相当于断开连接的数据库模型

private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;"; //sql语句
using (SqlConnection connection = new SqlConnection(
connectionString))//实例化连接对象
{
SqlCommand command = new SqlCommand(
queryString, connection);//实例化sqlCommand对象
connection.Open();//打开连接
SqlDataReader reader = command.ExecuteReader();//执行sql语句
try
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
}
finally
{
// Always call Close when done reading.
reader.Close();
}
}
}


DataReader对象:提供对执行SQL语句或存储过程记录连接数据库的只进访问能力;适合填充只读数据的网页;

注:1.GridView控件使用DataSet中的数据表填充,尽管DataSet功能强大而且与数据源隔离,但是它需要的性能开销特别大,如果向检索一些记录且需要马上呈现出来,那么使用前面提及的SqlDataReader对象会更高效。

2.DataReader直接从数据库获取结果集仅仅提供只读,只进的遍历操作。另一方面DataSet对象把结果集存储在内存中更易于访问,编辑,按需要将修改更新回数据库。DataAdapter的Fill方法是使用DataReader去获取从数据库到DataSet的数据;

注:以下任一情况需要用到dataset对象或DataAdapter
1.把断开连接的一组数据传递给应用程序中的其他应用层或客户端应用程序;
2.持久化你的结果到一个文件或到一个session对象中;
3.提供对象多个表和多表间关系的访问;
4.绑定同一个数据到多个控件上,记住DataReader对象对数据提供只进访问的能力,不能反复遍历控件数据两次
5.需要跳转到指定记录位置或逆向检索数据;
6.使用批量操作进行大规模更新后端数据的记录;

DataAdapter对象:System.Data.SqlClient;
DataAdapter对象:ADO.NET使用DataAdapter对象在DataSet对象和数据库间协调。这使得DataSet对象并不是非常紧密的与数据库架构耦合在一起,使得数据集与数据库隔离开,而且允许单个数据集代表一个以上的数据库或其他数据源。

string connectionString = "Data Source=WIN-O0MA0A3PGB2;Initial Catalog=InsideTSQL2008;Persist Security Info=True;User ID=sa;Password=hong880926";
string commandString = "SELECT* FROM [Sales].[Customers]";
SqlDataAdapter dataadapter = new SqlDataAdapter(commandString, connectionString);
DataSet dataset = new DataSet();
dataadapter.Fill(dataset, "table");
DataTable datatable = dataset.Tables["table"];
GridView1.DataSource = datatable;
GridView1.DataBind();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: