您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第9章ADONET数据库高级操作
1第9章ADO.NET数据库高级操作数据源控件数据绑定控件类型化数据集2数据源控件名称说明SqlDataSource访问SQLServer,OLEDB,ODBC,Oracle和其他存在定制.NETDataProvider的数据库系统(提供程序可以是MySQL,FireBird等)。ObjectDataSource支持绑定到中间层对象,例如数据访问层或业务组件。AccessDataSource可以通过指定文件名来方便地操作MicrosoftAccess数据库。SiteMapDataSource支持绑定到ASP.NET2.0站点导航提供程序公开的层次结构。XmlDataSource支持绑定到XML文件或文档。3一、SqlDataSource数据源用来从SQLServer、OracleServer、ODBC数据源、OLEDB数据源,或者WindowsSQLCE数据库中检索数据声明代码如下:asp:SqlDataSourceID=SqlDataSource1runat=serverConnectionString=server=;Database=;UserID=;Password=ProviderName=SelectCommand=UpdateCommand=DeleteCommand=InsertCommand=DataSourceMode=/asp:SqlDataSource4例9-1使用SqlDataSource控件和RadioButtonList控件,从数据库中读取用户信息,将用户名显示在web页面上。5二、AccessDataSource数据源AccessDataSource是ASP.NET2.0提供的访问Access数据库的专用数据源控件,该控件能够快速连接Access数据库,并且通过SQL语句等对数据库记录实现操作。asp:AccessDataSourceID=AccessDataSource1runat=serverDataFile=MDBFileLocation.mdbSelectCommand=select*fromuserinfo/asp:AccessDataSource6XmlDataSourceXmlDataSource控件就是用于处理层次化数据的工具,可以简化将XML数据绑定到控件的过程。asp:XmlDataSourceID=XmlDataSource1runat=serverDataFile=~/App_Data/Data.xmlXPath=Node1/Node2/asp:XmlDataSource7SiteMapDataSourceSiteMapDataSource控件是ASP.NET2.0中专门用于连接和访问站点地图文件的数据源控件,该控件与站点导航控件,即SiteMapPath、TreeView和Menu等控件相结合使用。asp:SiteMapDataSourceID=SiteMapDataSource1runat=server/asp:SiteMapDataSource8ObjectDataSourceObjectDataSource能够快速的建立应用程序。ObjectDataSource控件在表示层与数据访问层、表示层与业务逻辑层之间构建一座桥梁,从而将来自数据访问层或者业务逻辑层的数据对象,与表示层中的数据绑定控件绑定,实现数据的显示、编辑和排序等任务。asp:ObjectDataSourceID=ObjectDataSource1runat=serverTypeName=SelectMethod=/asp:ObjectDataSource9数据绑定控件名称说明GridView以网格格式呈现数据。此控件是DataGrid控件的演变形式,并且能够自动利用数据源功能。DetailsView在标签/值对的表格中呈现单个数据项,类似于MicrosoftAccess中的窗体视图。此控件也能自动利用数据源功能。FormView在由自定义模板定义的窗体中一次呈现单个数据项。在标签/值对的表格中呈现单个数据项,类似于MicrosoftAccess中的窗体视图。此控件也能自动利用数据源功能。TreeView在可展开的节点的分层树视图中呈现数据。Menu在分层动态菜单(包括弹出式菜单)中呈现数据.10GridView控件深入研究讨论GridView控件的高级功能,包括利用GridView控件进行分页显示数据、排序和定制列等操作11例9-2GridView控件的绑定列示例。使用GridView数据显示控件绑定SqlDataSource数据源对象,显示mytest数据库中会员的用户名、所在省份和注册时间等信息,数据显示实现分页、排序功能。12模板中的数据绑定GridView控件的模板列名称说明HeaderTemplate如果被定义,则确定列表标题的内容和布局;如果未定义,则不呈现标题FooterTemplate如果被定义,则确定列表脚注的内容和布局;如果未定义,则不呈现脚注ItemTemplate定义列表中项目的内容和布局EditItemTemplate如果被定义,则确定正在编辑项目的内容和布局AlternatingItemTemplate数据项交替模板,如果被定义,则奇数行显示ItemTemplate,偶数行显示AlternatingItemTemplate13模板中的数据绑定在DataGrid控件中,模板列的定义语句为:asp:TemplateColumnItemTemplate服务器控件/ItemTemplateEditItemTemplate服务器控件/EditItemTemplate/asp:TemplateColumn14例9-3GridView控件的模板列示例要求在GridView控件中显示会员姓名列和密码列,并实现对密码的更新操作与删除操作。15补充1:Gridview中显示图片(与数据库结合)1.建立子目录,准备好照片文件2.数据库表中添加存放照片的字段,并存放照片路径,如下图:163.配置好数据源SqlDataSource14.页面上放置Gridview1,选择数据源SqlDataSource15.Gridview1编辑列(字段)(可增加或减少)6.在编辑列对话框中添加一个ImageField字段,并在其DataImageUrlField属性中选择数据库表中存放图片路径的字段,如下图:17187.再把上述字段转为模板字段TemplateField,确定8.编辑模板,适当增大或缩小图片框,完成9.依此类推,对Datalist控件也是一样,只不过datalist控件可以设置RepeatColumns=3之类的表示每一行显示3条记录,还可以设置如下属性:CellPadding=10CellSpacing=2进行记录与记录之间的距离以及框外的空间距离19补充二:gridview中添加超链接及跳转页面传送参数1.在gridview1中编辑列,添加HyperLinkField字段,并在对应的属性中添加参数,如下图:203.在跳转过来页面接收信息:stringst=Request.QueryString[userid].ToString();Label1.Text=st+过来了!;21DataList控件的模板列基本语法为:asp:DataListid=控件名称runat=serverRepeatColumns=整数值,表示控件中显示的列数RepeatDirection=Horizontal|Vertical,表示水平显示还是垂直显示RepeatLayout=Table|Flow,表示是否以表格的形式显示数据OnEditCommand=单击编辑按钮时的事件名称OnUpdateCommand=单击更新按钮时的事件名称OnCancelCommand=单击取消按钮时的事件名称OnDeleteCommand=单击删除按钮时的事件名称OnItemCommand=单击其他按钮时的事件名称DataKeyField=关键字段,类似于数据库中的主键模板列/asp:DataList22DataList控件的模板列DataList控件的模板列名称说明ItemTemplate定义列表中项目的内容和布局,该项必选AlternatingItemTemplate如果被定义,则该模板确定替换项的内容和布局;如果未定义,则使用ItemTemplateSeparatorTemplate如果被定义,则在各个项目(及替换项)之间呈现分隔符;如果未定义,则不呈现分隔符SeletedItemTemplate如果定义该模板,则确定选中项目的内容和布局EditItemTemplate如果定义该模板,则确定正在编辑项目的内容和布局HeaderTemplate如果被定义,则该模板确定列表标题的内容和布局;如果未定义,则不呈现标题FooterTemplate如果被定义,则该模板确定列表脚注的内容和布局;如果未定义,则不呈现脚注23例9-4通过DataList控件显示会员信息。每行显示2条记录。单击【详细信息】超链接后,打开新页面显示会员详细信息。24例9-5利用DataList控件,实现对数据的更新、删除和取消等操作。25Repeater控件的模板列Repeater控件的基本语法为:asp:Repeaterid=控件名称runat=serverOnItemCommand=单击其中按钮时的事件名称模板列/asp:Repeater26Repeater控件的模板列名称说明ItemTemplate定义列表中项目的内容和布局,该项必选AlternatingltemTemplate如果被定义,则该模板确定替换项的内容和布局;如果未定义,则使用ItemTemplateSeparatorTemplate如果被定义,则在各个项目(及替换项)之间呈现分隔符;如果未定义,则不呈现分隔符HeaderTemplate如果被定义,则该模板确定列表标题的内容和布局;如果未定义,则不呈现标题FooterTemplate如果被定义,则该模板确定列表脚注的内容和布局;如果未定义,则不呈现脚注27例9-6利用Repeater控件查询记录。28DetailsView控件DetailsView也称为细节视图控件,详细显示每一行数据中各个数据字段的具体内容。其表格只包含两个数据列。DetailsView控件可与GridView控件结合使用,以便实现主详细表信息显示。29例9-7使用GridView显示用户信息,每个用户名都对应一个“详细信息”的链接,当点击该链接时,窗口下方通过DetailsView控件显示该用户的详细资料。当点击“编辑”按钮时,该用户的信息进入编辑状态;点击“删除”按钮,该条记录被删掉;点击“新建”按钮,可以插入记录。3031FormView控件FormView控件类似DetailsView控件,差别在于DetailsView控件使用表格布局,记录的每个字段都各自显示为一行。FormView控件不指定用于显示记录的预定义布局,而是创建一个包含控件的模板,以显示记录中的各个字段。32例9-8用FormView控件显示数据库的数据,并实现新建、更新和删除操作。点击“编辑”可以对该记录进行修改;“删除”和“新建”按钮分别用于删除和插入记录;“页码”用于查看不同记录。33类型化数据集DataSet是ADO.NET组件中的主要控件,它是从数据源中检索到的数据在内存中的缓存。DataSet是完全独立于数据库的对象,其中的数据可以被插入、更新和删除,并且它能够保存任何修改的细节。DataSet的子对象:DataTable对象DataColumn对象DataRow对象DataRelation对象34例9-9手动创建一个cart表,表中包括4个字段:orderID(订单ID)、userName(会员标识
本文标题:第9章ADONET数据库高级操作
链接地址:https://www.777doc.com/doc-2113266 .html