深入进行数据库编程.ppt

上传人:zhu****ei 文档编号:3418212 上传时间:2019-12-14 格式:PPT 页数:59 大小:2.13MB
返回 下载 相关 举报
深入进行数据库编程.ppt_第1页
第1页 / 共59页
深入进行数据库编程.ppt_第2页
第2页 / 共59页
深入进行数据库编程.ppt_第3页
第3页 / 共59页
点击查看更多>>
资源描述
第7章深入进行数据库编程,讲解提纲,7.1DataGrid控件再探讨7.2使用DataList控件存取数据库7.3使用Repeater控件存取数据库7.4使用含有参数的SQL语句7.5对多个表进行操作7.6存取SQLServer数据库7.7DataSet对象再探讨7.8综合示例,本章要点,使用DataGrid控件分页、排序、定制列、自定义列使用DataList控件显示和编辑数据使用Repeater控件显示数据使用SQL参数查询语句对多个表进行操作连接SQLServer数据库的语句手工建立DataSet对象,利用DataSet对象对数据库进行操作,7.1DataGrid控件再探讨,分页显示数据排序定制列链接到详细页自定义列,7.1.1分页显示数据,在DataGrid控件中添加如下属性:AllowPaging=True表示允许分页显示PageSize=“整数值”每页显示多少条记录OnPageIndexChanged=“事件过程”切换到另一页时的事件过程利用PagerStyle属性设置分页导航栏的样式:PagerStyle-Mode=“NextPrev|NumericPages”PagerStyle-HorizontalAlign=Left|Right|centerPagerStyle-PrevPageText=“字符串”PagerStyle-NextPageText=“字符串”在事件过程中只要令DataGride控件的CurrentPageIndex属性为选定的页,然后重新绑定数据即可,分页显示数据示例,add.aspx,7.1.2对数据进行排序,要进行排序,必须要在DataGrid控件中添加如下属性:AllowSorting=True表示允许排序OnSortCommand=事件过程排序对应的事件过程排序的中心思想是当单击DataGrid某一列的标题时,就将这一列的字段名称赋值给DataSet对象默认视图的Sort属性,然后就可以按该列排序了。DS.Tables(link).DefaultView.Sort=SortFieldMyDataGrid.DataBind(),排序的具体方法,首先在DataGrid控件中添加相应属性。其次一个页面级变量SortField,用来存放排序字段。启动页面时可以令SortField为默认的排序字段link_id,然后绑定数据。当客户选择了排序的字段后,就令SortField为新的排序字段,然后绑定数据。,对数据进行排序示例,7-2.aspx,7.1.3定制列,要自己定制列,首先需要在DataGrid控件中添加如下属性AutoGenerateColumns=False此外,还需要自己添加BoundColumn、HyperLinkColumn列。对于定制列,只要修改DataGrid控件就可以了,基本上不用修改,定制列示例,7-3.aspx,7.1.4链接到详细页,如果一个数据表有很多字段,通常做法是只显示若干重要字段,然后单击一个“详细”超链接,就可以打开一个详细页面,在详细页面中显示所有字段。要达到以上目的,也只要利用7.1.3节中讲到的HyperLinkColumn列,只不过链接到一个新的页面即可。,链接到详细页示例,7-4.aspx,详细页示例,7-5.aspx,7.1.5自定义列,事实上,还可以利用TemplateColumn更加自由的定义每一列。服务器控件服务器控件,自定义列示例,分步讲解:第1步:在DataGrid控件中对“网站简介”和“网站评分”两列使用自定义列。第2步:在更新事件过程中获取文本框控件中和下拉列表框控件中的值,并进行更新。说明;其它部分同以前示例,第1步:DataGrid控件部分,7-6.aspx,第2步:更新事件过程部分,7-6.aspx,7.2使用DataList控件存取数据库,DataGrid控件只能以表格形式显示数据,但是DataList控件就可以以更自由的方式显示数据,比如可以在1行显示多条记录。不过它的功能没有DataGrid控件强大,如不支持分页和排序等。,7.2.1DataList控件简介,模板列,DataList控件中的模板列,ItemTemplateAlternatingItemTemplateSeparatorTemplateSelectedItemTemplateEditItemTemplateHeaderTemplateFooterTemplate,7.2.2查询记录,查询记录的步骤和DataGrid控件几乎一致。区别只是声明控件的语法部分。,查询记录示例,7-7.aspx,7.2.3选择记录,在DataList控件中可以使用SelectedItemTemplate模板列设定选中项的内容和样式。步骤:一般需要添加一个LinkButton控件;并且添加SelectedItemTemplate模板;并设置OnItemCommand属性对应的事件过程;在事件过程中设置SelectedIndex属性为选中项,然后重新绑定数据即可。,第1步:DataList控件部分,7-8.aspx,第2步:事件过程部分,7-8.aspx,7.2.4更新和删除记录,利用DataList控件也可以更新和删除记录,此时它和DataGrid控件的操作非常类似。它需要在EditItemTemplate列中自己定义编辑时的内容和样式;还要添加OnEditCommand、OnUpdateCommand、OnCancelCommand、OnDeleteCommand事件属性,分别对应单击编辑、更新、取消和删除按钮时的事件过程;同时还要利用DataKeyField属性设置关键字段。在ItemTemplate和EditItemTemplate列中要分别添加几个LinkButton控件,当单击这些按钮时就会触发相应的事件过程。,第1步:DataList控件部分,7-9.aspx,第2步:更新事件过程,7-9.aspx,7.3使用Repeater控件存取数据库,Repeater控件也可以用来绑定数据库,它和DataList控件非常相似,但是有几个区别:(1)DataList控件显示时会把每一条记录放在一个表格单元内(可以在浏览器中查看源代码),而Repeater控件就会严格按照用户的定义显示数据。(2)DataList控件支持更新和删除记录,而Repeater控件则只支持查询记录。(3)DataList控件可以在1行显示若干条记录,而Repeater控件1行只能显示1条记录。总的来说,Repeater控件显示更自由,但是功能最简单。,7.3.1Repeater控件简介,语法如下:模板列模板列ItemTemplateAlternatingItemTemplateSeparatorTemplateHeaderTemplateFooterTemplate,7.3.2查询记录,数据的绑定和DataList类似关键是声明DataList控件的部分,查询记录示例,7-10.aspx,7.3.3选择记录,Repeater控件不仅可以用来查询记录,其实也可以其中添加LinkButton控件,单击该按钮就可以执行相应的事件过程,这一点和7.2.3有些相似。首先在模板列中添加一个LinkButton控件,然后要设置OnItemCommand属性对应的事件过程。当单击该按钮时,在事件过程中进行有关操作,然后重新绑定数据即可,选择记录示例控件部分,7-11.aspx,选择记录示例选择过程部分,7-11.aspx,7.4使用含有参数的SQL语句,下面就是一个最简单的参数化SQL语句,其中包含了1个参数sitename。:Select*FromlinkWheresitename=sitename当需要给该参数赋值时,可以使用Command对象建立参数对象,然后再赋值。cmd.Parameters.Add(NewOleDbParameter(sitename,OleDbType.Char,20)cmd.Parameters(sitename).Value=搜狐,含有参数的SQL语句示例,7-12.aspx,7.5对多个表进行操作,7.5.1组合查询,其实,只要使用组合查询的SQL语句就可以了,其它和6-5.aspx、6-6.aspx都一样。比如,现在要显示网站编号ID、网站名称sitename、年份fyear、收入income四个字段,并且要按网站名称和年份排序,则必须将Select语句写成如下形式:Selectlink.link_id,link.sitename,finance.fyear,finance.incomeFromlink,financeWherelink.link_id=finance.link_idOrderBylink.sitename,finance.fyear,7.5.2对多个表进行更新和删除操作,首先说明,Select语句可以使用多个表,但是Insert、Update和Delete语句只能对1个表进行操作。比如,当需要同时删除两个表中的数据的时候,就需要大家手工一个表一个表进行,对多个表进行操作示例,7-13.aspx,7.6存取SQLServer数据库,SQL数据库是微软推出的大型网络数据库,效率更高,运行更稳定。对于大型网站,还是建议采用SQL数据库。,7.6.1建立SQLServer数据库,建立一个数据库wwwlink,然后再建立表link,字段结构如图7-15所示。然后再为其添加用户test,密码是1234。,7.6.2存取SQLServer数据库,使用第一套类库,数据库连接字符串为:Provider=SqlOleDb.1;DataSource=localhost;initialCatalog=wwwlink;Uid=test;Pwd=1234如果使用第二套类库,就需要在页面中首先导入相应类:建立Connection对象的数据库连接字符串修改为:Server=localhost;Database=wwwlink;Uid=test;Pwd=1234“其它部分和读取Access数据库基本一致。特别注意:日期字段值两边不用#号,而改用引号。,7.7DataSet对象再探讨,DataSet对象可以由数据库、XML或手工建立,它是和数据源断开的。DataSet对象其实就像内存中的数据库,具有表、行、列、主键、关系等。它需要借助DataAdapter对象将更新反映到数据源中。,7.7.1建立DataSet对象,填充DataSet对象的几种方法:由数据库中填充从XML文件中填充完全手工填充,手工建立DataSet对象示例(1),7-15.aspx,手工建立DataSet对象示例(2),7-15.aspx,7.7.2对DataSet对象的操作,删除列的一般方法是:dt.Columns.Remove(submit_date)删除行的一般方法首先定位到该行,然后使用delete方法:dr=dt.Rows(行编号)dr.Delete修改值的一般方法首先定位到该行,然后对指定列赋值:dr=dt.Rows(行编号)dr(列名称)=值返回表中行的数目的方法如下:number=dt.Rows.Count返回表中列的数目的方法如下:number=dt.Columns.Count对列进行排序的一般方法如下:ds.Tables(表编号).DeaultView.Sort=列名称DESC对行进行筛选的一般方法如下:ds.Tables(表编号).DeaultView.RowFilter=条件,如grade3,对DataSet对象的操作示例,7-16.aspx,7.7.3把DataSet对象中的更新写回到数据库,DataSet对象是和数据库断开的,如果要将改变更新到数据库中,就需要借助DataAdapter对象。,把DataSet对象中的更新写回到数据库示例,用Session保存Dataset对象:第1次打开时读取原始数据,并将DataSet对象保存到Session中。当单击编辑和删除时,首先从Session中读取DataSet对象,然后对其进行操作,随后再保存到Session中最后如果要保存修改结果,就利用DataAdapter对象,将修改反应到数据库中,如果放弃修改,就重新从数据库中读取原有数据。,初始化部分,7-17.aspx,更新部分,7-17.aspx,删除部分,7-17.aspx,保存修改部分,7-17.aspx,7.8综合示例,该程序就是在第6章中的综合示例中逐项加入分页、排序、定制列、链接到详细页等功能。大家也可以尝试自己逐项加入。这里边有两个小窍门,一是利用Label控件mySortField存放选定的排序字段,二是用TextBox控件keyword存放要搜索的网站名称关键字。当在BindData过程中建立DataSet对象时,就可以根据这两项设置显示内容和显示顺序。另外要注意更新过程中的多个参数。,再见,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!