860 likes | 1.03k Views
任务八:. 建立首页和登录页面 与数据库的连接. 主讲:李京文. 建立首页和登录页面与数据库的连接. 本任务的技能要求: 实现 Web 页面与数据库的连接和操作。 本任务的知识要求: 掌握 ASP.NET 中的数据库控件的使用 掌握 ASP.NET 内建对象 掌握 Web 服务器的配置. 建立首页和登录页面与数据库的连接. 本任务的运行效果如下:. 图 8-1 图中的新闻来自数据表. 建立首页和登录页面与数据库的连接. 本任务的运行效果如下:. 图 8-2 图中的新闻来自数据表. 建立首页和登录页面与数据库的连接.
E N D
任务八: 建立首页和登录页面与数据库的连接 主讲:李京文
建立首页和登录页面与数据库的连接 • 本任务的技能要求: 实现Web页面与数据库的连接和操作。 • 本任务的知识要求: 掌握ASP.NET 中的数据库控件的使用 掌握ASP.NET内建对象 掌握Web服务器的配置
建立首页和登录页面与数据库的连接 • 本任务的运行效果如下: 图8-1 图中的新闻来自数据表
建立首页和登录页面与数据库的连接 • 本任务的运行效果如下: 图8-2 图中的新闻来自数据表
建立首页和登录页面与数据库的连接 实现图8-1、8-2的效果,需要掌握ASP.NET中的SqlDataSource数据源控件、 AccessDataSource数据源控件、 XmlDataSource数据源控件、 GridView控件、 DetailsView控件、 FormView控件、ASP.NET的内建对象和WEB服务器设置和数据库访问编程等知识。
建立首页和登录页面与数据库的连接支撑知识——数据源控件建立首页和登录页面与数据库的连接支撑知识——数据源控件 一、SqlDataSource数据源控件 SqlDataSource控件是一种最常用的数据源控件,通过它可以使用Web服务器控件来访问SQLServer数据库、Oracle数据库、OLE DB以及ODBC数据源中的数据。将SqlDataSource控件与数据绑定控件(如GridView、FormView和DetailsView控件)结合起来使用,用很少代码甚至不用代码就能在ASP.NET网页上显示和操作数据。
建立首页和登录页面与数据库的连接支撑知识——数据源控件建立首页和登录页面与数据库的连接支撑知识——数据源控件 1、SqlDataSource控件的常用属性:
建立首页和登录页面与数据库的连接支撑知识——数据源控件建立首页和登录页面与数据库的连接支撑知识——数据源控件 1、SqlDataSource控件的常用属性(续) 图8-3 常用的属性
建立首页和登录页面与数据库的连接支撑知识——数据源控件建立首页和登录页面与数据库的连接支撑知识——数据源控件 2、 SqlDataSource控件的常用事件 图8-4 常用事件
建立首页和登录页面与数据库的连接支撑知识——数据源控件建立首页和登录页面与数据库的连接支撑知识——数据源控件 3、使用SqlDataSource控件连接数据库 使用SqlDataSource控件可以连接到SQL Server、Access、ODBC以及Oracle数据库,并在ASP.NET页中访问和操作数据。为此,只需要提供用于连接到数据库的连接字符串,并定义使用数据的SQL语句或存储过程即可。在运行时,SqlDataSource控件会自动打开数据库连接,执行SQL语句或存储过程,返回选定数据(如果有),然后关闭数据库连接。
建立首页和登录页面与数据库的连接支撑知识——数据源控件建立首页和登录页面与数据库的连接支撑知识——数据源控件 3、使用SqlDataSource控件连接数据库 连接字符串示例: Provider =Data Source=localhost;Integrated Security=SSPI;Initial Catalog=NorthwindProvider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Northwind.mdb 在SqlDataSource控件中引用配置文件中的连接字符串:<%$ ConnectionStrings:connection string name%>
建立首页和登录页面与数据库的连接支撑知识——数据源控件建立首页和登录页面与数据库的连接支撑知识——数据源控件 4、使用SqlDataSource控件选择数据库 • 设置提供程序名称:ProviderName属性。 • 设置连接字符串:ConnectionString属性。 • 设置选择命令:SelectCommand属性。 • 将参数传递给SQL语句:SelectParameters集合 • 设置数据的返回方式:DataSourceMode属性。 • 使用件事件添加自定义处理。 • 显示数据:使用GridView、DetailsView或FormView等控件。
建立首页和登录页面与数据库的连接支撑知识——数据源控件建立首页和登录页面与数据库的连接支撑知识——数据源控件 5、对SqlDataSource控件启用筛选 • 创建带有有效连接字符串和SELECT语句的SqlDataSource控件。 • 将DataSourceMode属性设置为DataSet。 • 将EnableCaching属性设置为True。 • 将CacheDuration属性设置为希望数据缓存的秒数。 • 将FilterExpression属性设置为用于指定返回数据的表达式。 • 若要使用参数筛选SqlDataSource控件,可以将该控件的FilterExpression属性设置为包括参数占位符的筛选器表达式。
建立首页和登录页面与数据库的连接支撑知识——数据源控件建立首页和登录页面与数据库的连接支撑知识——数据源控件 6、使用SqlDataSource控件修改数据 • 设置提供程序:ProviderName属性。 • 设置连接字符串:ConnectionString属性。 • 设置数据操作命令:InsertCommand、UpdateCommand和DeleteCommand属性。 • 通过设置参数向数据源发送插入、更新和删除操作的值:创建显式Parameter。
建立首页和登录页面与数据库的连接支撑知识——数据源控件建立首页和登录页面与数据库的连接支撑知识——数据源控件 二、其他数据源控件 1. AccessDataSource控件应用 使用AccessDataSource控件可以连接到Microsoft Access数据库(.mdb文件)并使数据库数据可用于ASP.NET网页上的其他控件。 2. XmlDataSource控件 XmlDataSource控件使得XML数据可用于数据绑定控件。
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 三、 GridView控件概述 使用GridView控件可以通过数据源控件自动绑定和显示数据,也可以通过数据源控件对数据进行选择、排序、分页、编辑和删除。此外,还可以自定义GridView控件的外观和行为,包括指定自定义列和样式、利用模板创建自定义用户界面元素以及通过处理事件将自己的代码添加到控件功能中。 1、 GridView控件的常用成员
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 (1)GridView控件中的行类型 图8-5 控件行类型 (2)GridView控件中的行状态 图8-5 控件行状态
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 (3)GridView控件中的列类型 图8-6 控件列类型
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 4、 使用GridView控件进行数据绑定 • 使用DataSourceID属性进行数据绑定。使用此方法时,GridView控件可以利用数据源控件的功能并提供内置的排序、分页和更新功能。当使用DataSourceID属性绑定到数据源时,GridView控件支持双向数据绑定,不仅可以显示返回的数据,还自动支持对绑定数据的更新和删除操作。 • 使用DataSource属性进行数据绑定,通过此选项可以绑定到数据集、数据读取器等各种ADO.NET对象。使用此方法需要为所有附加功能(如排序、分页和更新)编写代码。
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 5、 使用GridView控件分页显示数据 (1)如何在GridView控件中分页 将AllowPaging属性设置为True可以启用分页。 (2)自定义分页设置和用户界面 • 分页模式:PagerSettings.Mode属性。 • 页导航控件外观:NextPageText和PreviousPageText属性。 • 数据分页模板:PagerTemplate模板。 (3)使用分页事件 • PageIndexChanging事件:在GridView控件执行分页操作之前发生。 • PageIndexChanged事件:在新的数据页返回到GridView控件之后发生。
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 5、 使用GridView控件分页显示数据 图8-7是利用GridView控件分页显示的结果。 图8-7 分页显示结果
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 6、使用GridView控件实现数据排序 (1) GridView控件的排序原理 GridView控件自身不执行列排序,而是依赖数据源控件来代表它执行排序。GridView控件提供用于排序的用户界面,如显示在网格每一列最上方的LinkButton控件。但是,GridView控件依赖于它所绑定到的数据源控件的数据排序功能。若绑定的数据源控件可以排序数据,则选择数据后GridView控件可通过将SortExpression传递给数据源与该数据源控件进行交互并请求排序后的数据。
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 (2)控制对个别列的排序 若将将个别字段的SortExpression属性设置为空字符串(“”),则可以禁用对个别字段(BoundColumn或TemplateColumn字段)的排序。 (3)自定义排序 如果默认排序行为无法满足应用需要,也可以自定义网格的排序行为。自定义排序的基本技术是处理Sorting事件。
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 6、使用GridView控件实现主/详细页 • 主/详细页集通过两个页面显示从数据库中检索的信息,其中主页显示通过数据库搜索检索到的所有记录的列表,当单击主页上的超级链接时打开详细页,通常用来提供有关主页中所选项目的更多的细节。要使用GridView控件实现主详细页,可以通过在主页的GridView控件中添加HyperLinkField列使文本显示为超级链接,单击该链接即可定位到详细页。
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 6、使用GridView控件实现主/详细页 • GridView控件使用HyperLinkField列字段类型为每条记录显示超链接。当用户单击超链接时,将会被定向到与此超链接相关联的网页。若要指定要为超链接显示的标题,可使用Text属性。使用NavigateUrl属性指定单击超链接时定位到的URL。若要在特定的窗口或框架中显示链接的内容,可设置Target属性。设置Text和NavigateUrl属性后,HyperLinkField对象中的所有超链接都将共享同一标题和导航URL。同样,Target属性也适用于所有超链接。
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 6、使用GridView控件实现主/详细页 • 还可以将HyperLinkField对象绑定到数据源中的字段,从而为HyperLinkField对象中的每个超链接显示不同的标题,并使每个超链接定位到不同位置。若要将字段绑定到标题,可设置DataTextField属性。若要创建用于导航的URL,可将DataNavigateUrlFields属性设置为以逗号分隔的列表,此列表列出了用于创建URL的字段。
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 6、使用GridView控件实现主/详细页 • 使用GridView控件HyperLinkField对象实现主/祥细页的效果如图8-8所示。 图8-7 实现主/详细页的主页效果
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 7、使用GridView控件更新数据 (1) 启用内置编辑功能 在该控件的“GridView任务”菜单上,选中“启用编辑”复选框,或者将其AutoGenerateEditButton属性设置为True。 在GridView控件中添加一个CommandField字段,并将其ShowEditButton属性设置为True。 创建一个TemplateField字段,其中ItemTemplate模板包含多个命令按钮,若要进行更新,可将命令按钮的CommandName属性设置为Edit。 图8-7 实现主/详细页的主页效果
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 (2) 如何在GridView控件中进行编辑 GridView网格中会有一列包含一个按钮或链接(默认情况下按钮标题是“编辑”),通过单击该按钮或链接可以将所在的行置于编辑模式下,此时该行包含一个“更新”按钮和一个“取消”按钮。当单击“更新”按钮保存更改时,GridView控件将更改和主键信息传递到由DataSourceID属性标识的数据源控件,从而调用适当的更新操作。 图8-7 实现主/详细页的主页效果
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 (3) 在GridView控件中自定义编辑用户界面 在默认情况下,GridView控件使用TextBox或CheckBox作为编辑数据时的用户界面元素,但也可以对编辑用户界面元素进行自定义,例如可以更改在每个数据字段的编辑模式下使用的控件类型,将默认的TextBox移除,然后添加DropDownList或RadioButtonList。自动双向数据绑定允许自定义控件为数据存储区提供可编辑和已编辑的数据,以及从数据存储区获取可编辑和已编辑的数据。也可以创建一个TemplateField字段来指定自定义的列布局。 图8-7 实现主/详细页的主页效果
建立首页和登录页面与数据库的连接支撑知识——GridView控件建立首页和登录页面与数据库的连接支撑知识——GridView控件 8、使用GridView控件删除数据 若要使用GridView控件删除数据,首先需要对相关联的数据源控件进行配置,不仅要为其设置数据连接,也要指定SelectCommand命令,此外还必须配置DeleteCommand命令,并为该命令定义参数。将GridView控件绑定到数据源之后,可以通过下列方式之一来启用该控件的内置删除功能。 • 将AutoGenerateDeleteButton属性设置为True。 • 添加一个CommandField,并将其ShowDeleteButton属性设置为True。 • 创建一个TemplateField,其中ItemTemplate包含多个命令按钮,若要进行删除,可将按钮的CommandName属性设置为Delete。 图8-7 实现主/详细页的主页效果
建立首页和登录页面与数据库的连接支撑知识——DetailsView控件建立首页和登录页面与数据库的连接支撑知识——DetailsView控件 四、 DetailsView控件 1、DetailsView控件概述 (1) DetailsView控件的常用成员 DetailsView控件具有常用的属性、方法和事件。 (2) DetailsView控件的行字段类型 图8-9 行字段类型
建立首页和登录页面与数据库的连接支撑知识——DetailsView控件建立首页和登录页面与数据库的连接支撑知识——DetailsView控件 (3)使用DetailsView控件进行数据绑定 使用DataSourceID属性进行数据绑定,将DetailsView控件绑定到数据源控件。建议使用此选项,因为它允许DetailsView控件利用数据源控件的功能并提供了内置的更新和分页功能。当使用DataSourceID属性绑定到数据源时,DetailsView控件支持双向数据绑定,该控件除了显示数据之外,还自动支持对绑定数据的插入、更新和删除操作。 使用DataSource属性进行数据绑定,将DetailsView控件绑定到包括ADO.NET数据集和数据读取器在内的各种对象。使用此方法时,需要为附加功能(如更新等)编写代码。
建立首页和登录页面与数据库的连接支撑知识——DetailsView控件建立首页和登录页面与数据库的连接支撑知识——DetailsView控件 四、 DetailsView控件 (3)使用DetailsView控件进行数据绑定 使用DataSourceID属性进行数据绑定,将DetailsView控件绑定到数据源控件。建议使用此选项,因为它允许DetailsView控件利用数据源控件的功能并提供了内置的更新和分页功能。当使用DataSourceID属性绑定到数据源时,DetailsView控件支持双向数据绑定,该控件除了显示数据之外,还自动支持对绑定数据的插入、更新和删除操作。
建立首页和登录页面与数据库的连接支撑知识——DetailsView控件建立首页和登录页面与数据库的连接支撑知识——DetailsView控件 2、使用DetailsView控件分页显示数据 使用DetailsView控件可以在表格中显示来自数据源的单条记录的值,其中每个数据行表示该记录的一个字段,而且该表格只包含两列,一列显示字段名,另一列则显示字段值。使用DetailsView控件可以从与其关联数据源中一次显示、编辑、插入或删除一条记录。即使DetailsView控件的数据源公开了多条记录,该控件一次也仅显示一条数据记录。
建立首页和登录页面与数据库的连接支撑知识——DetailsView控件建立首页和登录页面与数据库的连接支撑知识——DetailsView控件 2、使用DetailsView控件分页显示数据 如果关联的数据源支持分页,则DetailsView控件可以自动对其关联数据源中的数据进行分页,并提供用于在数据记录之间导航的用户界面。若要对DetailsView控件启用分页行为,将其AllowPaging属性设置为True即可。当从关联的数据源选择特定的记录时,可以通过分页导航链接来选择该记录,并通过DetailsView控件来显示当前选择的记录。
建立首页和登录页面与数据库的连接支撑知识——DetailsView控件建立首页和登录页面与数据库的连接支撑知识——DetailsView控件 3、使用DetailsView控件更新数据 若要启用编辑操作,可将AutoGenerateEditButton属性设置为True。除了呈现数据字段外,DetailsView控件还将呈现一个“编辑”按钮。若单击“编辑”按钮,可使DetailsView控件进入编辑模式,若要从数据源删除相应的数据记录或插入一条新的数据记录,可对DetailsView控件进行配置,以显示“删除”和“插入”按钮。
建立首页和登录页面与数据库的连接支撑知识——DetailsView控件建立首页和登录页面与数据库的连接支撑知识——DetailsView控件 3、使用DetailsView控件更新数据 与AutoGenerateEditButton属性相似,若在DetailsView控件上将AutoGenerateInsertButton属性设置为True,该控件就会呈现一个“新建”按钮。单击“新建”按钮时,DetailsView控件的CurrentMode属性会更改为Insert,该控件会为每个绑定字段呈现相应的用户界面输入控件,除非绑定字段的InsertVisible的属性设置为False。
建立首页和登录页面与数据库的连接支撑知识——DetailsView控件建立首页和登录页面与数据库的连接支撑知识——DetailsView控件 3、使用DetailsView控件更新数据 使用DetailsView控件时,可以对用户界面进行自定义。DetailsView控件支持Fields集合属性,该集合包含类型为BoundField、CommandField或HyperLinkField的DataControlField对象。除了DetailsView控件将每个字段呈现为一行而不是一列之外,这在功能上与GridView控件的Columns集合相似。
建立首页和登录页面与数据库的连接支撑知识——FormView控件建立首页和登录页面与数据库的连接支撑知识——FormView控件 五、 FormView控件 1、 FormView控件概述 与DetailsView控件相似,FormView控件也可以用于显示和编辑数据源中的单个记录。FormView控件和与DetailsView控件之间的差别在于:DetailsView控件使用表格布局,在该布局中,记录的每个字段都各自显示为一行,而FormView控件不指定用于显示记录的预定义布局。实际上,可以创建一个包含控件的模板以显示记录中的各个字段,在该模板中包含用于创建窗体的格式、控件和绑定表达式。
建立首页和登录页面与数据库的连接支撑知识——FormView控件建立首页和登录页面与数据库的连接支撑知识——FormView控件 (1)FormView控件的常用成员 FormView控件的常用成员包括属性、方法和事件。 (2) FormView控件的模板 8-10 FormView控件常用模板
建立首页和登录页面与数据库的连接支撑知识——FormView控件建立首页和登录页面与数据库的连接支撑知识——FormView控件 (3)使用FormView控件进行数据绑定 使用DataSourceID属性进行数据绑定。使用此选项可以将FormView控件绑定到数据源控件,并允许FormView控件利用数据源控件的功能并提供了内置的更新和分页功能。当使用DataSourceID属性绑定到数据源时,FormView控件支持双向数据绑定。除可以使该控件显示数据之外,还可以使它自动支持对绑定数据的插入、更新和删除操作。 使用DataSource属性进行数据绑定。使用此选项可以绑定到包括ADO.NET数据集和数据读取器在内的各种对象,但需要为附加功能(如更新和分页等)编写代码。
建立首页和登录页面与数据库的连接支撑知识——FormView控件建立首页和登录页面与数据库的连接支撑知识——FormView控件 2、为FormView控件创建模板数据绑定 (1) 显示模板 FormView控件的主要显示模板是ItemTemplate模板,此模板以只读模式显示绑定的数据。ItemTemplate模板包含的控件是只显示数据的控件,例如Label控件。在此模板中还可以包含命令按钮,用于将FormView控件的模式更改为插入、编辑或删除当前记录。使用包含Eval方法的数据绑定表达式可以通过单向数据绑定模式将模板中的控件绑定到数据。
建立首页和登录页面与数据库的连接支撑知识——FormView控件建立首页和登录页面与数据库的连接支撑知识——FormView控件 (2)编辑和插入模板 FormView控件的主要显示模板是ItemTemplate模板,此模板以只读模式显示绑定的数据。ItemTemplate模板包含的控件是只显示数据的控件,例如Label控件。在此模板中还可以包含命令按钮,用于将FormView控件的模式更改为插入、编辑或删除当前记录。使用包含Eval方法的数据绑定表达式可以通过单向数据绑定模式将模板中的控件绑定到数据。
建立首页和登录页面与数据库的连接支撑知识——FormView控件建立首页和登录页面与数据库的连接支撑知识——FormView控件 (3)数据分页模板 在FormView控件中,一个数据页就是一个绑定记录。若将该控件的AllowPaging属性设置为True,则可以自动添加用于分页的用户界面控件。在FormView控件中可以通过添加PagerTemplate模板来自定义用于分页的用户界面。
建立首页和登录页面与数据库的连接支撑知识——FormView控件建立首页和登录页面与数据库的连接支撑知识——FormView控件 3、使用FormView控件中分页显示数据 (1)在FormView控件中进行分页 FormView控件支持对其数据源中的项进行分页。若要对该控件启用分页行为,可将其AllowPaging属性设置为True。 (2)自定义分页设置和用户界面 • 分页模式:将Mode属性设置为PagerButtons值自定义分页模式。 • 页导航控件外观:NextPageText和PreviousPageText属性。 • 数据分页模板。通过添加PagerTemplate模板可以自定义用于分页的用户界面。
建立首页和登录页面与数据库的连接支撑知识——FormView控件建立首页和登录页面与数据库的连接支撑知识——FormView控件 4、使用FormView控件修改数据 • FormView控件使用Keys、NewValues和OldValues这3个字典集合将值传递到数据源,数据源控件这些值用作插入、更新或删除命令的参数以进行更新或删除操作,也可以使用传递给FormView控件的插入、更新或删除事件的参数来访问每个字典。。 • 更新完成后,FormView控件引发自身的ItemUpdated事件,使用此事件可以执行查询后逻辑,如完整性检查。同样,FormView控件在插入后也引发自身的ItemInserted事件,在删除后则引发自身的ItemDeleted事件。在完成更新并引发所有事件之后,FormView控件重新绑定到数据源控件。
建立首页和登录页面与数据库的连接支撑知识——FormView控件建立首页和登录页面与数据库的连接支撑知识——FormView控件 • 在主/详细方案中,通常使用GridView作为主控件,而使用FormView作为从控件。当在FormView执行数据更改后,FormView控件重新绑定到数据源控件,但GridView不会自动重新绑定到数据源控件,可以根据需要在适当的事件处理程序中调用DataBind方法,以实现主、从控件的同步显示。 • 使用FormView控件删除记录时,不会显示任何提示信息,为了防止误操作,建议为“删除”按钮添加确认功能,即在单击“删除”按钮时弹出一个确认框。
建立首页和登录页面与数据库的连接支撑知识——ADO.NET编程访问数据建立首页和登录页面与数据库的连接支撑知识——ADO.NET编程访问数据 六、通过ADO.NET编程访问数据 8-11 通过ADO.NET访问数据库的接口模型
建立首页和登录页面与数据库的连接支撑知识——ADO.NET编程访问数据建立首页和登录页面与数据库的连接支撑知识——ADO.NET编程访问数据 六、通过ADO.NET编程访问数据 1、ADO.NET结构概述 ADO.NET包括两个核心组件:.NET Framework数据提供程序和DataSet。在ASP.NET网页上,可以使用这两个组件来访问和处理数据。.NET Framework数据提供程序与DataSet之间的关系如图所示。 8-12 ADO.NET结构