一、ADO.NET体系结构
ADO.NET是由一系列的数据库相关类和接口构成,它的基石是XML技术,所以通过ADO.NET不仅能访问关系型数据库中的数据,还能访问层次化的XML数据。ADO.NET提供了两种数据访问模式:一种是连接模式(connected),一种是非连接模式(disconnected)。 在非连接模型下,一旦应用程序从数据源获得所需数据,应用程序就断开和数据源的连接,并将获得的数据以XML的形式存放在主存中。在应用程序处理完数据 后,它再取得与数据源的连接并完成数据的更新工作。因此,非连接模式与传统的数据库访问模式相比,具有更大的可升级性和灵活性。
1、ADO.NET的总体结构
ADO.NET由两个核心组件组成:DataSet和.NET Framework数据提供程序。DataSet是ADO.NET的断开式连接结构的核心组件。DataSet的设计目标是为了实现独立于任何数据源的数据访问。DataSet对象以XML的形式存放数据,因此,它可以用于多种不同的数据源。.NET Framework数据提供程序的设计目的是为了实现数据操作和对数据的快速、只进、只读访问。包含四个对象:Connection对象提供与数据源的连接;Command对象能访问用于返回数据、修改数据、运行存储过程及发送或检索参数信息的数据库命令;DataReader从数据源中提供高性能的数据流;DataAdapter提供连接DataSet对象和数据源的桥梁,它使用Command对象在数据源中执行SQL语句,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致。
using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SqlClient; namespace ex7 { public class ExecuteReaderExample { public static void Main() { //连接字符串 string str = "Server=localhost;Database=Student;User ID=sa;PWD=sa"; //建立连接对象conn SqlConnection conn = new SqlConnection(str); //SQL语句 string SQLstr = "select top 2 * from StudentInfo"; //建立数据库命令对象comm SqlCommand comm = new SqlCommand(SQLstr, conn); //建立DataReader对象rd SqlDataReader rd;//或者IDataReader rd; try { conn.Open();//打开连接 rd = comm.ExecuteReader(); //迭代结果集中的行,直到读完最后一条记录Read方法返回false while (rd.Read()) { //用字符串引用字段,用数字序号引用字段 Console.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", rd["StudentID"].ToString(), rd["XueHao"], rd[2], rd[3], rd[4], rd[5]); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { conn.Close();//关闭连接 } } } }
学习来源:《Visual C#.NET实用教程》清华大学出版社 主编:师硕、于明。学习资料:ADO.NET数据库访问技术.rar
发表评论: