计算机编程基础(C#)课件 第9章 ADO.NET(三)_第1页
计算机编程基础(C#)课件 第9章 ADO.NET(三)_第2页
计算机编程基础(C#)课件 第9章 ADO.NET(三)_第3页
计算机编程基础(C#)课件 第9章 ADO.NET(三)_第4页
计算机编程基础(C#)课件 第9章 ADO.NET(三)_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

*计算机编程基础(C#)

“十二五”职业教育国家规划教材经全国职业教育教材审定委员会审定*第9章ADO.NET(三)

计算机编程基础(C#)计算机编程基础(C#)回顾Command对象的作用是什么?如何实现数据库操作?如何实现数据库查询?DataReader对象的作用是什么?本章目标熟练掌握DataAdapter组件熟练掌握DataSet组件本章任务查看电影信息DataSet应用程序大量的数据来自多个数据源大批量的查询、修改数据怎么办?想在断开数据库连接的情况下操所数据怎么办?使用DataSet对象DataSet数据库DataSetDataSet数据集简单理解为一个临时数据库将数据源的数据保存在内存中独立于任何数据库工厂的仓库车间的临时仓库生产线数据源DataSet应用程序驻留于内存,临时存储数据类似的关系DataSetDataSet的基本结构DataSetDataTableDataColumnCollectionDataRowCollectionDataColumnDataRowDataTableCollection数据集数据表容器数据表数据列容器数据行容器数据列数据行DataSetGradeTableClassTableStudentTableidnameclasssex1小菲5女2小薇3女3小强6男DataTableCollection所有数据表DataTable数据表DataRowCollection所有数据行DataRow数据行DataColumnCollection所有数据列DataColumn数据列DataSet数据集发送数据修改数据集传递数据提交修改后的数据请求数据客户端DataSet创建一个DataSet可以指定一个数据集的名称如果不指定名称,则默认被设为"NewDataSet"DataSetdataSet=newDataSet();DataSetdataSet=newDataSet("MySchool");DataSet数据集对象

=newDataSet("数据集的名称字符串");可选的小结数据集的特点是什么?什么时数据集?数据集是由那些对象组成?如何创建一个DataSet对象?构建DataSet创建DataSet对象创建DataTable对象并添加到DataSet中创建DataColumns象并添加到DataTable中创建DataRow象并添加到DataTable中DataSetds=newDataSet();DataSetds=newDataSet("myds");DataTabledt1=newDataTable();……ds.Tables.Add(dt1);DataTabledt2=newDataTable("myTab");……ds.Tables.Add(dt2);DataColumndc=newDataColumn("ID",typeof(int));dt.Columns.Add(dc);dt.Columns.Add(newDataColumn("Name",typeof(string)));dt.Columns.Add("Phone",typeof(string));DataRowdr1=dt.NewRow();dr1[0]=1;dr1[1]="Bell";dr1[2]=;dt.Rows.Add(dr1);DataRowdr2=dt.NewRow();dr2["ID"]=2;dr2["Name"]="Jessica";dr2["Phone"]=;dt.Rows.Add(dr2);构建DataSet如何将数据库的数据放在DataSet中?DataSet数据集DataAdapter数据库DataSet数据集Connection数据库连接DataAdapter数据适配器数据库构建DataSet不同命名空间的DataAdapter对象命名空间对应的DataAdapter对象System.Data.SqlClient

SqlDataAdapterSystem.Data.OleDbOleDbDataAdapterSystem.Data.OdbcOdbcDataAdapterSystem.Data.OracleClientOracleDataAdapter构建DataSet

使用DataAdapter对象填充数据集DataSet数据集使用

Fill()方法填充DataSet中的表使用

Connection连接数据源Connection数据库DataAdapter的Fill()方法构建DataSetSqlDataAdapter对象名

=

newSqlDataAdapter(查询用sql语句,数据库连接);创建SqlDataAdapter对象1DataAdapter对象.Fill(数据集对象,"数据表名称字符串");填充DataSet2小结构建DataSet的方式有哪些?DataAdapter对象的作用是什么?如何通过DataAdapter对象将数据读取到DataSet中?数据展示简单控件TextDataSettxtName.Text=(string)ds.Tables["Film"].Rows[0]["Name"];txtActors.Text=(string)ds.Tables["Film"].Rows[0]["Actors"];txtDesc.Text=(string)ds.Tables["Film"].Rows[0]["Desc"];行下标列下表或列名数据展示DataSetDataSourceDisplayMemberValueMember

comboBox1.DropDownStyle=ComboBoxStyle.DropDownList;comboBox1.DisplayMember="Name";comboBox1.ValueMember="ID";comboBox1.DataSource=ds.Tables["Film"];可以更换其他列表控件列表控件数据展示DataGridView使用DataGridView数据展示DataGridView的优点强大而灵活地显示数据轻松定义控件外观像Excel表格一样方便一行代码实现数据绑定可视化操作数据展示DataGridView的列设置数据展示使用DataGridView控件显示数据实现步骤:添加窗体的控件设置DataGridView控件和其中各列的属性设置DataSource属性,指定数据源dgdShowData.AutoGenerateColumns=false;dgdShowData.DataSource=dtFilm;不需要自动创建列数据展示ListView显示方式说明LargeIcon每个项都显示为一个最大化图标,在它的下面有一个标签Details每个项显示在不同的行上,并带有关于列中所排列的各项的进一步信息。最左边的列包含一个小图标和标签,后面的列包含应用程序指定的子项。列显示一个标头,它可以显示列的标题。用户可以在运行时调整各列的大小SmallIcon每个项都显示为一个小图标,在它的右边带一个标签Tile每个项都显示为一个完整大小的图标,在它的右边带项标签和子项信息。显示的子项信息由应用程序指定。此视图仅在下面的平台上受支持:WindowsXP和WindowsServer2003系列。在之前的操作系统上,此值被忽略,并且ListView控件在LargeIcon视图中显示List每个项都显示为一个小图标,在它的右边带一个标签。各项排列在列中,没有列标头数据展示ListView:设置列foreach(DataRowdrinds.Tables["Film"].Rows){ListViewItemitem=newListViewItem();item.SubItems[0].Text=(string)dr["Name"];item.SubItems.Add((string)dr["Actors"]);item.SubItems.Add(string.Format("{0:C}",dr["Price"]));lsvShowData.Items.Add(item);}设置第一列数据展示string.Format(){索引[,对齐][:格式字符串]}索引从0开始设置字符的宽度设置转换格式string.Format("货币:{0:C};百分比:{1:P};十六进制:{0:X}",12,0.35);string.Format("右对齐:[{0,10}];左对齐:[{0,-10}];对齐失效:[{0,2}]","Tom");数据展示字符串说明示例C或者c将指定数值转换成为货币格式123.456("C")->¥123.46123.456("C3")->¥123.456123.456("C1")->¥123.5D或者d(针对数值)将指定数值转换称为整数1234("D")->1234-1234("D6")->-001234P或者p将指定数值转换称为百分比1("P")->100.00%-0.39678("P")->-39.68%-0.39678("P1")->-39.8%-0.39678("P4")->-39.6780%D或者d(针对日期)将指定日期转换成为日期字符串2012.11.2911:46AM("d")->2012/11/292012.11.2911:46AM("D")->2012年11月29日G或者g(针对日期)将指定日期转换成为日期时间字符串2012.11.2911:46AM("g")->2012/11/2911:462012.11.2911:46AM("G")->2012/11/2911:46:08数据展示TreeView:用树的方式展示层次节点数据展示TreeView属性属性说明Name控件的名称,一般采用trv作为前缀Nodes树控件所有节点对象SelectedNode树控件当前选中的节点CheckBoxes表示节点旁边是否显示复选框FullRowSelect指示选中的节点是否跨越树视图控件的整个宽度TreeNode属性属性说明Name节点的名称,一般采用nod作为前缀Checked标识TreeNode前的复选框是否被选中FullPath获取从树根开始到当前选中节点的完整路径Nodes当前节点的所有子节点Text节点的文本内容Tag与节点相关联的数据数据展示添加节点TreeNodetn1=newTreeNode("根节点1");trvFilmType.Nodes.Add(tn1);trvFilmType.Nodes.Add(newTreeNode("根节点2"));trvFilmType.Nodes.Add("根节点3");tn1.Nodes.Add("子节点1");tn1.Nodes.Add(newTreeNode("子节点2"));trvFilmType.Nodes[1].Nodes.Add("子节点3");trvFilmType.Nodes[1].Nodes.Add(newTreeNode("子节点4"));小结WinForm中数据展示的方式有哪些?如何读取DataTable中的数据?DataSource属性的作用是什么?ListView控件有那些显示方式?TreeView控件如何添加节点?查看电影信息查看电影信息添加“选择全部”项DataRowdr=dt.NewRow();dr["ID"]=-1;dr["Name"]="选择全部";

dt.Rows.InsertAt(dr,0);和DataTable具有相同的结构通过特殊值表示状态将DataRow对象插入到到DataTable的指定位置查看电影信息数据查询DataViewdv=newDataView(dt);

if((int)cboFilmType.SelectedValue>0)dv.RowFilter="TypeID="+(int)cboFilmType.SelectedValue;

if(!string.IsNullOrEmpty(txtSearch.Text))dv.RowFilter="[Name]like'%"+txtSearch.Text+"%'orActorslike'%"+txtSearch.Text+"%'";创建和DataTable具有相同的结构的数据试图完成数据筛选DataView(数据视图)是DataTable对象的一个自定义的视图,作用是对DataTable中的数据进行排序、筛选、搜索、编辑和导航等操作查看电影信息在ListView中显示电影信息列表获取电影编号并传递到详细信息窗体在详细信息窗体显示电影信息lsvShowData.Items.Clear();

foreach(DataRowViewdrindv){ListViewItemitem=newListViewItem();

item.Tag=(int)dr["ID"];item.SubItems[0].Text=(string)dr[“Name”];item.SubItems.Add(string.Format(“{0:C}”,dr[“Price”]));

lsvShowData.Items.Add(item);}清除所有项添加电影信息if(lsvShowData.SelectedItems.Count>0){intid=(int)lsvShowData.SelectedItems[0].Tag;frmFilmDetailsfd=newfrmFilmDetails(id);fd.ShowDialog();}确保有选中项通过构造传参以模式窗口打开stringconn=ConfigurationManager.ConnectionStrings["SQL"].ConnectionString;SqlConnectioncn=newSqlCon

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论