数据库的访问和管理(4)

上传人:j****9 文档编号:54838950 上传时间:2018-09-20 格式:PPT 页数:34 大小:292KB
返回 下载 相关 举报
数据库的访问和管理(4)_第1页
第1页 / 共34页
数据库的访问和管理(4)_第2页
第2页 / 共34页
数据库的访问和管理(4)_第3页
第3页 / 共34页
数据库的访问和管理(4)_第4页
第4页 / 共34页
数据库的访问和管理(4)_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《数据库的访问和管理(4)》由会员分享,可在线阅读,更多相关《数据库的访问和管理(4)(34页珍藏版)》请在金锄头文库上搜索。

1、第5章 数据库的访问和管理(4),1,2,内容回顾,使用Command对象 实现模糊查询 ADO.NET事务处理 DataReader对象 DataAdapter对象,内容提要,DataSet对象 DataView对象 Repeater数据控件 DataList数据控件 DataGrid数据控件 网上购物数据库设计,DataSet对象,DataSet封装在命名空间“Syste.Data”中。DataSet中可以包含任意数量的DataTable(数据表),且每个DataTable对应一个数据库中的数据表和视图。通过DataAdapter的Fill方法,将表内容填充到DataSet对象中,而且可以

2、填充多个表。利用别名来区分。比如“da.Fill(ds,“grade1“);”的功能是将da对象中的数据填充到ds对象中,并起别名“grade1”DataSet对象使用XML格式来存储数据,DataSet可以脱离数据源。可以利用程序创建DataSet对象,并填充内部的数据,不从数据源读取数据。,自动生成DataSet对象,程序名称:5-13.aspxSub Page_Load(Sender As Object, e As EventArgs)dim myds as DataSet=new DataSet()dim mydt as DataTable=new DataTable(“Squares

3、“)dim mydc as DataColumn=new DataColumn()dim mydr as DataRowmydc.DataType=System.Type.GetType(“System.Int32“)mydc.ColumnName=“数字“mydt.Columns.Add(mydc)mydc=new DataColumn()mydc.DataType=System.Type.GetType(“System.Int32“)mydc.ColumnName=“平方“mydt.Columns.Add(mydc)myds.Tables.Add(mydt)dim i as integer

4、for i = 0 to 10 mydr = mydt.NewRow()mydr(“数字“) = imydr(“平方“) = i * imydt.Rows.Add(mydr)nextdg.DataSource = myds.Tables(“Squares“).DefaultViewdg.DataBind() End Sub,自动生成DataSet对象,程序中,首先创建1个DataSet对象,然后创建1个DataTable对象,利用循环初始化DataTable对象最后将DataTable对象填充到DataSet对象中,通过和DataGrid数据控件绑定将数据输出到浏览器上。,操作DataSet对

5、象,程序名称:5-14.aspxSub Page_Load(Sender As Object, e As EventArgs)dim Conn as new OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;“+ “Data Source=“+Server.MapPath(“person.mdb“)Conn.Open()dim strSQL=“select * from grade;“dim da as new OleDbDataAdapter(strSQL, Conn)dim ds as new DataSet()da.Fill(ds,“gr

6、ade“)dim dt as DataTable=new DataTable()dt = ds.Tables(“grade“)dim row as DataRowrow = dt.NewRow()row(“学号“)= “2005“row(“姓名“)= “薛为民“row(“语文“) = 96row(“数学“) = 98row(“英语“) = 100dt.Rows.Add(row)dim cb as OleDbCommandBuilder = new OleDbCommandBuilder(da)da.Update(ds,“grade“)dg.DataSource = ds.Tables(“gra

7、de“).DefaultViewdg.DataBind()Conn.Close() End Sub,动态修改DataSet对象,程序从数据库中读取了1个数据库表,将其填充到DataSet对象中,然后新创建一行将其添加到DataSet对象中。“OleDbCommandBuilder cb = new OleDbCommandBuilder(da)”的功能是对新加的数据行进行转换。,DataView对象,DataView对象定义了DataTable的数据查看方式。数据默认的查看方式是将数据以表格的形式排列,且数据排列的顺序遵循从数据库表中取出数据时排列的顺序可以通过DataView对象使数据按照某

8、些规则进行显示。,使用DataView对象,程序名称:5-15.aspxSub Page_Load(Sender As Object, e As EventArgs)dim Conn as new OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;“+ “Data Source=“+Server.MapPath(“person.mdb“)dim strSQL = “select * from grade“dim Comm as new OleDbCommand(strSQL,Conn)dim da as new OleDbDataAdapter

9、()da.SelectCommand = CommConn.Open()dim ds as new DataSetda.Fill(ds,“grade“)dim dv as DataView = new DataView(ds.Tables(“grade“)dv.RowFilter = “ 数学 60“dv.Sort = “学号 desc, 数学 DESC“Response.Write(“满足条件的记录有:“ & dv.Count & “条“)dg.DataSource = dvdg.DataBind()Conn.Close() End Sub,DataView对象,通过DataView对象的“

10、Find()”方法可以其数据进行查找如果找到了,该方法将返回所在行的索引,可以将查找到的数据输出。,程序名称:5-16.aspxSub Page_Load(Sender As Object, e As EventArgs)dim Conn as OleDbConnectionConn=new OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;“+ “Data Source=“+Server.MapPath(“person.mdb“)dim strSQL as String= “select * from grade“dim Comm as Ol

11、eDbCommand = new OleDbCommand(strSQL,Conn)dim da as OleDbDataAdapter= new OleDbDataAdapter()da.SelectCommand = CommConn.Open()dim ds as DataSet= new DataSet()da.Fill(ds,“grade“)dim dv as DataView=new DataView(ds.Tables(“grade“),“,“姓名“, DataViewRowState.CurrentRows)dim rowIndex as Integer rowIndex= d

12、v.Find(“薛为民“)If rowIndex = -1 Then Response.Write(“没有找到!“)elseResponse.Write(dv(rowIndex)(“姓名“) &“: “&dv(rowIndex)(“数学“)End Ifdg.DataBind()Conn.Close() End Sub,数据控件,数据控件属于Web服务器端控件,数据控件包括三个控件: Repeater控件,DataList控件和DataGrid控件。 其中最常用的数据控件是DataGrid控件,也是功能最强大的数据控件。,Repeater数据控件,Repeater控件的主要功能是以更自由的方式来

13、控制数据,用非表格的形式来展现数据。Repeater控件最关键的部分是摸板,允许用户定义5种摸板:ItemTemplate,数据摸板,这是Repeater控件必须的 AlternatingItemTemplate,隔行数据模板,可选参数 SeparatorTemplate,分割线模板,可选参数 HeaderTemplate,抬头模板,可选参数 FooterTemplate,结尾模板,可选参数,使用Repeater控件,()数学成绩:Sub Page_Load(Sender As Object, e As EventArgs)dim Provider,DataBase,ConnStr,SQL a

14、s StringProvider = “Microsoft.Jet.OLEDB.4.0;“DataBase = Server.MapPath(“person.mdb“)ConnStr = “Provider=“ + Provider + “Data Source=“ + DataBasedim da as OleDbDataAdapterda = new OleDbDataAdapter(“Select * From grade“,ConnStr)dim ds as DataSet=new DataSet()da.Fill(ds,“grade“)rep.DataSource=ds.Tables

15、(“grade“).DefaultViewrep.DataBind() End Sub ,使用Repeater控件的其他模板,除了可以使用“ItemTemplate”模板,还可以使用头摸板、尾摸板以及隔行显示模板。一般隔行显示模板用来定义不同的显示样式,程序名称:5-18.aspx首届毕业生成绩表()数学成绩:()数学成绩:到此结束!,Repeater控件,程序定义了头部显示的信息和尾部显示的信息并定义奇数行显示成红色,偶数行显示成蓝色。,DataList数据控件,DataList数据控件在Repeater数据控件基础上进行了扩展,除了含有Repeater的功能外,还可以设置单行笔数等等。Da

16、taList控件和Repeater控件数据输出的格式都取决于样板的定义,不同点是:DataList在浏览器中会以表格的形式输出。,程序名称:5-19.aspx()数学成绩:,Sub Page_Load(Sender As Object, e As EventArgs)dim Provider,DataBase,ConnStr,SQL as stringProvider = “Microsoft.Jet.OLEDB.4.0;“DataBase = Server.MapPath(“person.mdb“)ConnStr = “Provider=“ + Provider + “Data Source=“ + DataBasedim Comm as new OleDbDataAdapter(“Select * From grade“,ConnStr)dim ds as new DataSet()Comm.Fill(ds,“grade“)dl.DataSource = ds.Tables(“grade“).DefaultViewdl.DataBind()End Sub,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号