DataSet 与DataAdapter初步

来源:互联网 发布:枪林弹雨刷枪软件截图 编辑:程序博客网 时间:2024/05/19 17:07

第三讲: DataSet DataAdapter初步

1.       什么是DataSet?

数据集(DataSet)是独立于数据存储区且与之不同的数据结构,是一种代表关系数据的内存驻留结构

       2.为什么要使用DataSet?
             
将数据库读到数据集,从而进行无连接的操作

      3.关于DataSet

              DataSetADO.NET中的关键对象,所有复杂的操作都要使用它.DataSet 包含一组相关的DataTable对象,代表要使用的数据库表,每一个DataTable对象都有子 DataRow DataColumn对象,分别代表数据库的行和列.通过这些对象,可以获取表,行和列的所有元素.

4什么是DataAdapter对象

       DataAdapter对象充当数据库和ADO.NET对象模型中断开连接的对象之间的桥梁

       DataAdapter对象在DataSet与源数据之间起到的桥梁的作

5.DataAdapter的主要作用

       DataAdapter对象会填充DataSet对象中表,而且能读取缓存的更改并将其提交给数据

6.DataAdapter对象的两个主要方法

Fill方法:填充数据集

Update方法向数据库提交存储的DataSet的更改

DataAdapter对象的Fill方法将数据填充到DataSet表中,然后直接对DataSet进行操作,DataSet的操作等同于对数据库中的表的操作,因为DataSet是断开的所以只有影响DataSet本身不会影响数据库,这时就要利用Update方法去读取缓存的更改并将其提交给数据库

Web.Config

<connectionStrings >

    <add name ="connectinString" connectionString ="Data Source=.;Initial Catalog=test;user id=sa;password =meng1986"/>

  </connectionStrings>

Default.aspx.cs

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

 

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        string strCon = System.Configuration.ConfigurationManager.ConnectionStrings["connectinString"].ToString();

        SqlConnection sqlCon = new SqlConnection(strCon);

        sqlCon.Open();

        //SQL数据全部取出来,以下三句作用:将数据库中的表填充到ds当中

        SqlDataAdapter sqlAda = new SqlDataAdapter("select * from info",sqlCon );

        DataSet ds = new DataSet();

        sqlAda.Fill(ds, "info");//将数据表info填充到ds

 

        //下面将对ds中的表进行操作,而不是对数据库中info表进行直接操作因为了DataSet与数据库是断开的

        //ds.Tables []返回 一个表的所有集合

        if (ds.Tables[0].Rows.Count == 0)//ds所有表中的行数返回过来,判断是否为空

        {

           Response.Write("数据库中没有数据");

        }

        else

        {

           for(int i=0;i<ds.Tables[0].Rows.Count;i++)

           {

              Response.Write(ds.Tables["info"].Rows [i][1]);

              Response.Write(ds.Tables["info"].Rows[i]["sex"]);

              Response.Write("<br>");

           }

        }

        sqlCon.Close();

      

    }

        

}