DataSet

     可以将DataSet对象想象成位于内存内的的数据库。

     DataSet对象必须配合DataAdapter对象使用,DataAdapter对象结构在Command对象之上,用来执行SQL命令,然后将结果置入DataSet对象;此外,DataAdapter对象也可以将DataSet对象改写过的数据写回数据源。

     由于DataSet对象是使用“无连接传输模式”访问数据库,因此,在用户要求访问数据源时,无须经过冗长的连接操作,而且数据由数据源读入DataSet对象(内存)之后,便关闭数据连接,解除数据库的锁定,其他用户便可以再使用该数据库,用户之间无须争夺数据源。

DataSet对象包含3个子集:DataTableCollection(内含多个DataTable,相当于多个数据表。)

Tables[i)Tables[TableName]

DataColumnCollection(内含多个DataColumn,相当于表里的字段.)

Columns[i]Columns[ColumnName]

DataRowCollections(内含多个DataRow,相当于表里的记录)

Row[i].ItemArray[j]

 

using System.Data;

using System.Data.OleDb;

 

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

{

    protected void Page_Load(object sender, EventArgs e)

    {

        //创建DataAdapter对象

        OleDbConnection conn = new OleDbConnection();

        conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("DB.mdb");    

        OleDbDataAdapter adapter =new OleDbDataAdapter("select * from stu",conn);

 

        //创建DataSet对象

        DataSet ds = new DataSet();

        adapter.Fill(ds,"stu");

 

        //声明tabDataTable对象,并将DataSet里的stu表赋值给它

        DataTable tab = ds.Tables["stu"];

 

        //显示stu表里的所有字段的名称

        int i, j;

        Response.Write("<table border='1'><tr align='center'>");

        for (i = 0; i < tab.Columns.Count; i++)

            Response.Write("<td>"+tab.Columns[i].Caption+"</td>");

        Response.Write("</tr>");

 

        //显示stu表里的所有数据行的内容

        for (i = 0; i < tab.Rows.Count; i++)

        {

            Response.Write("<tr>");

            for (j = 0; j < tab.Columns.Count;j++ )

                Response.Write("<td>" + tab.Rows[i].ItemArray[j]+"</td>");

                //tab.Rows[i].ItemArray[j]相当于tab.Rows[i][j]

            Response.Write("</tr>");

        }

        Response.Write("</table>");

    }

}

 

由于DataSetXml为核心,所以无论哪种数据源,这要置入DataSet对象中,一定是以XML格式来保存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值