正文

[asp.net]ADO.NET笔记(续)(续)2006-09-15 18:09:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/bakers/18556.html

分享到:

1.       DataSet对象 封装在”System.Data”中. DataSet中可以包含任意数量的DataTable(数据表),且每个数据表对应一个数据库中的数据表和视图. 通过DataAdapter的Fill方法,将表内容填充倒DataSet对象中,而且可以填充多个表.利用别名来区分.比如da.Fill(ds,”table1”);的功能是将da对象中的数据填充到ds对象对,并起别名”table1”. 实例一. 生成DataSet详细过程. <%@ Page Language="C#" %> <%@ Import namespace="System.Data" %> <script language="C#" runat="server"> void Page_Load(Object sender, EventArgs e){ DataSet myds = new DataSet(); DataTable mydt = new DataTable("Squares"); DataRow mydr; mydt.Columns.Add(new DataColumn("数字",typeof(Int32))); mydt.Columns.Add(new DataColumn("平方",typeof(Int32))); for (int i = 0; i < 10; i++)  {         mydr = mydt.NewRow();         mydr[0] = i;         mydr[1] = i * i;         mydt.Rows.Add(mydr); } myds.Tables.Add(mydt); dg.DataSource = myds.Tables["Squares"].DefaultView; dg.DataBind();} </script> <asp:DataGrid id="dg" runat= "server"/> 实例二. 操作DataSet对象 <%@ Page Language="C#" %> <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.OleDb"%> <Script runat="server"> void Page_Load(Object Src, EventArgs E) { OleDbConnection Conn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"+                     "Data Source="+Server.MapPath("person.mdb")); Conn.Open(); string strSQL="select * from grade;"; OleDbDataAdapter da=new OleDbDataAdapter(strSQL, Conn); DataSet ds = new DataSet(); da.Fill(ds,"grade"); DataTable dt = ds.Tables["grade"]; DataRow row = dt.NewRow(); row["学号"] = "199"; row["姓名"] = "小布什"; row["数学"] = 58; dt.Rows.Add(row); OleDbCommandBuilder cb = new OleDbCommandBuilder(da); da.Update(ds,"grade"); dg.DataSource = ds.Tables["grade"].DefaultView; dg.DataBind(); Conn.Close(); } </script> <ASP:DataGrid id="dg" runat="server"/> 2.       DataView对象  实例一.试用该对象.  <%@ Page Language="C#" %> <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.OleDb"%> <Script runat="server"> void Page_Load(Object Src, EventArgs E) {   OleDbConnection Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"+                     "Data Source="+Server.MapPath("person.mdb"));    String strSQL = "select * from grade";    OleDbCommand Comm = new OleDbCommand(strSQL,Conn);    OleDbDataAdapter da = new OleDbDataAdapter();    da.SelectCommand = Comm;    Conn.Open();    DataSet ds = new DataSet();    da.Fill(ds,"grade");    DataView dv = new DataView(ds.Tables["grade"]);    dv.RowFilter = " 数学 > 60";    dv.Sort = "学号 desc, 数学 DESC";    Response.Write("满足条件的记录有:" + dv.Count + "条");    dg.DataSource = dv;    dg.DataBind();    Conn.Close(); } </script> <ASP:DataGrid id="dg" runat="server"/> 实例二.试用DataView进行简单的查询. <%@ Page Language="C#" %> <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.OleDb"%> <Script runat="server"> void Page_Load(Object Src, EventArgs E) {        OleDbConnection Conn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"+                     "Data Source="+Server.MapPath("person.mdb"));        String strSQL = "select * from grade";        OleDbCommand Comm = new OleDbCommand(strSQL,Conn);        OleDbDataAdapter da = new OleDbDataAdapter();        da.SelectCommand = Comm;        Conn.Open();        DataSet ds = new DataSet();        da.Fill(ds,"grade");        DataView dv = new DataView(ds.Tables["grade"],"", "姓名",               DataViewRowState.CurrentRows);        int rowIndex = dv.Find("小张");        if (rowIndex == -1)               Response.Write("没有找到!");        else               Response.Write(dv[rowIndex]["姓名"].ToString() +                                           dv[rowIndex]["数学"].ToString());        //dg.DataSource = dv;        dg.DataBind();        Conn.Close(); } </script> <ASP:DataGrid id="dg" runat="server"/> Name Description DataView.Find (Object) Finds a row in the DataView by the specified sort key value. Supported by the .NET Compact Framework. DataView.Find (Object[]) Finds a row in the DataView by the specified sort key values. Supported by the .NET Compact Framework. Return Value The index of the row in the DataView that contains the sort key value specified; otherwise -1 if the sort key value does not exist. 四.数据控件.  数据控件属于Web服务器控件,数据控件包括三个控件.   Reader控件,DataList控件和DataGrid. 其中最常用的是最后一个.也是功能最强调的控件.  前两者暂时不介绍.  DataGrid控件可以自动显示表的内容.  使用DataReader或DataSet对象和DataGrid控件进行绑定,就可以进行数据输出.     总结: 理解了ADO.NET的组成以及4中.NET数据提供程序的用途用法. 熟悉了DataReader,   DataAdapter,对象的概念和使用方法. 熟练掌握了DataSet对象. 掌握DataGrid控件的使用

阅读(4838) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册