C#之ADO.NET数据库访问技术

一、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

标签:

发表评论: