首页 第7章 获取数据

第7章 获取数据

举报
开通vip

第7章 获取数据第7章 获取数据 第7章 获取数据 7.1 ADO.NET简介 ADO.NET 是与C和 Microsoft.NET framework 一起使用的类集的名称用于以关系型的、面向表的格式访问数据。这包括关系数据库比如Microsoft Access 和SQL Server以及其他数据库甚至还包括非关系数据源。ADO.NET被集成到.NET framework用于.NET语言。ADO.NET包含System.Data名称空间中的一组对象System.Data名称空间可以通过.NET的数据提供者provider与数据...

第7章 获取数据
第7章 获取数据 第7章 获取数据 7.1 ADO.NET简介 ADO.NET 是与C和 Microsoft.NET framework 一起使用的类集的名称用于以关系型的、面向表的格式访问数据。这包括关系数据库比如Microsoft Access 和SQL Server以及其他数据库甚至还包括非关系数据源。ADO.NET被集成到.NET framework用于.NET语言。ADO.NET包含System.Data名称空间中的一组对象System.Data名称空间可以通过.NET的数据提供者provider与数据库通信。 ADO.NET的名称来源于ADOActiveX Data Objects这是用途广泛的类组用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称是因为Microsoft希望表明这是在.NET编程环境中优先使用的数据访问接口。 ADO.NET的主要目标是提供对关系数据的简单访问功能。ADO.NET提供两个核心组件DataSet和.NET数据提供者程序。 ADO.NET DataSet组件为ADO.NET提供断开式结构服务它的设计是为了实现独立于任何数据源的数据访问。因此它可以用于多种不同的数据源。 .NET数据提供者程序用于连接到数据源检索、修改数据源中的数据。开发人员可以将检索到的结果放入ADO.NET DataSet。在实际应用中.NET数据提供者程序在数据源和ADO.NET DataSet之间起着桥梁的作用。 ADO.NET提供了两种内置的ADO.NET数据提供者一种是OLE DB.NET数据提供程序用于使用OLE DB公开的数据源如Microsoft Access另一种是SQL Server.NET提供者程序用于使用Microsoft SQL Server7.0或更高版本。另外Microsoft最近预演了用于ADO.NET的ODBC.NET提供者它允许.NET访问更多的旧的数据格式和第三方数据库。 7.2 使用ADO.NET访问数据库 7.2.1 ADO.NET类和对象概述 可以把类分为.NET提供者对象和用户对象。提供者对象专用于每一种类型的数据源专用于提供者的对象完成在数据源中实际的读取和写入工作。用户对象是将数据读入到内存中后用来访问和操纵数据的对象。用户对象以非连接方式使用提供者对象要求活动的连接可以使用它们首先读取数据然后根据需要通过用户对象使用内存中的数据通过使用者对象更新数据源中的数据并将变动写回到数据源中。 7.2.2 提供者对象 即在每一个.NET数据提供者中定义的对象其名称前带有专用于提供者的名称。 1连接对象Connection 连接对象是您要使用的第一个对象被要求用于任何其他ADO.NET对象之前。它提供了到数据源的基本连接。专用于提供者的名称包括用于SQL Server7.0 的SqlConnection 和用于 OLE DB 的 OleDbConnection。 2 命令对象Command 可以使用此对象发出命令比如对数据源的查询专用于提供者的名称包括用于SQL Server 的SqlCommand 和用于 OLE DB 的 OleDbCommand。 3 CommandBuilder对象 此对象用于构建SQL命令可以在基于单一表查询的对象中进行数据修改。专用于提供者的名称包括用于SQL Server7.0 的SqlCommandBuilder和用于OLE DB 的OleDbCommandBuilder。 4 DataReader对象 可以从数据源中读取仅能前向和只读的数据流。此对象具有最好的功能可以简单地读取数据专用于提供者的名称包括用于SQL Server7.0的SqlDataReader和用于OLE DB的OledbDataReader。 5 DataAdapter对象 提供连接DataSet对象和数据源的桥梁DataAdapter使用Command对象在数据源中执行SQL命令对数据源进行各种操作包括更新变动的数据填充数据集以及其他操作。专用于提供者的名称包括用于SQL Server7.0的SqlDataAdapter和用于OLE DB的OledbAdapter。 7.2.3 用户对象DataSet 此对象表示一组相关表在应用程序中这些表作为一个单元被引用。有了此对象就可以快速从每一个表中获取所需要的数据当与服务器断开时检查并修改数据然后在一次操作中使用这些修改的数据更新服务器。 DataSet具有属性使得您可以访问低级对象这些对象代表单独的表、行、列和关系。这些对象是 1. DataTable对象 此对象代表在DataSet中的表。可以在DataSet中存储多个DataTable对象。 2. DataRow对象 此对象代表来自表的关联数据的行。可以在DataTable中存储多个DataRow对象。 3.DataColumn 对象 此对象代表表中的列。可以在DataRow中存储多个DataColumn对象。 4. DataRelation对象 此对象代表通过共享列而发生关系的两个表之间的关系。 7.2.4 使用System.Data名称空间 在C代码中使用ADO.NET的第一步是引用System.Data名称空间其中含有所有的ADO.NET类。 1. SQL Server.NET数据提供者 如果您使用的是SQL Server版本7或更高级的版本或MSDE则通过使用SQL Server专用的.NET数据提供者就可以获得最好的性能和对基础性的功能的最直接的访问按如下方式使用using 指令可以引用SQL Server 专用的.NET数据提供者 using System.Data.SqlClient 2. OLE DB.NET提供者 对于不是SQL Server7.0或以上版本的大多数数据源Microsoft Access Oralce 以及其他数据源可以使用OLE DB.NET数据提供者按如下方式使用using指令引用它 using System.Data.OleDb 7.3 在VS中访问数据 例 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 1建立SQL Server数据库student显示其中一个表xs的记录内容并可查询、修改、删除其记录。参见D:GZCado数据库sql 程序 一 建立SQL Server数据库 启动Microsoft SQL Server企业管理器Microsoft SQL Servers SQL Servers组localWindows NT 右键单击数据库单击新建数据库输入新建数据库名student右键单击 student单击新建表输入表中各字段定义确定主键关闭该窗口并以xs为名存储右键单击xs表单击打开表单击返回所有行输入表中各记录值关闭该窗口。 二将C应用程序与数据库连接 1. 建立数据适配器到数据库的连接 在工具箱中单击“数据”标签双击“SqlDataAdapter”打开“数据适配器配置向导”单击“下一步”选“新建数据库连接”打开“数据链接属性”对话框输入服务器名选择默认的即可选择“使用windows集成安全”在服务器上选择数据库“student”点击“测试连接”按钮显示“连接成功”单击“确定”单击“下一步”选择“使用SQL语句”单击“下一步”单击“查询生成器”添加表xs选“”单击“确定”单击“下一步”单击“完成” 此时表单下添加了两个对象即sqlDataAdapter1和sqlConnection1。 数据适配器包含我们希望从数据库中返回的数据的基本信息是.NET数据提供者的一个组件用于将来自数据库的数据填充到DataSet中并将在DataSet中的变化返回到数据库中。sqlConnection对象包含了ADO.NET 用来连接到数据库的所有信息。 2.添加DataSet 右键单击刚才创建的sqlDataAdapter1选择“生成数据集”选择“新建”DataSet1选择“添加到数据集中的表xs”单击“确定” 此时Form下添加了一个新的对象DataSet11同时解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 中添加了一个新文件DataSet1.xsd。此文件是DataSet的模式。XSDXML模式定义模式是一个文档通过它我们可以验证XML文档的结构XML是用于表示数据的文本格式。因为DataSet在后台使用XML组织数据此文件由VS自动生成它规定了数据集、每一个表及表之间的关系的结构。 3.文本框与数据库数据的绑定 在表单上创建文本框txtxh在其DataBindings属性细目上单击其text部分出现datasete11-xs-xh xm单击“xh”则txtxh与xs表中的xh字段绑定。同样 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 可将另一个文本框txtxm与xm字段绑定。这仅仅意味着在文本框中可以看见数据集中的数据用户在文本框中所作的任何变化都可以反映到DataSete中。但这不会影响数据源即数据库中的数据除非用更新命令修改表中数据。 4.上述操作仅定义了来自表中的数据的结构还没有定义实际的数据下面的命令是通知数据适配器填充DataSet即使应用程序获取数据 可单击表单Form背 景进入代码编辑器或制作一查询按钮在其事件处理程序中写如下代码 this.sqlDataAdapter1.Fillthis.dataSet1100”xs” Fill方法使用来自数据源的数据填充 DataSet中的DataTable。此方法带有4个参数。第一个参数规定希望填充的DataSet在 此就是dataSet11 。第二个参数规定应该从第几个记录开始。第三个参数规定返回几 个记录。如果设为0则返回所有记录。第4个参数规定生成数据的表的名称在此就是 xs。 现在保存并运行该程序可在文本框中看到xs表中的首行记录值。 5.添加导航 按钮以便看到表中全部记录。见源程序代码。 6.使用DataGrid浏览表中所有数据 在 其DataSouce属性中设置dataset11.xs 主要代码如下 static void Main Application.Runnew Form1 private void Form1_Loadobject sender System.EventArgs e //this.sqlDataAdapter1.Fillthis.dataSet1100quotxsquot private void btnback_Clickobject sender System.EventArgs e this.BindingContextthis.dataSet11quotxsquot.Position-- private void btnnext_Clickobject sender System.EventArgs e this.BindingContextthis.dataSet11quotxsquot.Position private void btnupdate_Clickobject sender System.EventArgs e this.sqlDataAdapter1.Updatethis.dataSet11.xs private void btnqer_Clickobject sender System.EventArgs e this.dataSet11.Clear this.sqlDataAdapter1.Fillthis.dataSet1100quotxsquot private void btnreset_Clickobject sender System.EventArgs e this.dataSet11.Clear 例题2建立Access数据库显示其 中一个表的记录内容并可查询、修改、删除其记录。参见D:GZC备课Database1程序 static void Main Application.Runnew DateBase2 private void Form1_Loadobject sender System.EventArgs e //this.oleDbDataAdapter1.Fillthis.dataSet1100quott1quot private void buttonback_Clickobject sender System.EventArgs e this.BindingContextthis.dataSet11quott1quot.Position-- private void buttonnext_Clickobject sender System.EventArgs e this.BindingContextthis.dataSet11quott1quot.Position private void buttonupdate_Clickobject sender System.EventArgs e this.oleDbDataAdapter1.Updatethis.dataSet11.t1 private void buttonq_Clickobject sender System.EventArgs e this.dataSet11.Clear this.oleDbDataAdapter1.Fillthis.dataSet1100quott1quot private void buttonr_Clickobject sender System.EventArgs e this.dataSet11.Clear 7.4使用SQL Server.NET数据提供者应用举例 例题1用ADO.NET访问SQL数据库 在数据库魏菊 丽20086666中建立student表其中含sno主键snamessexsagesdept等字段。在Form1中制 作一个 comboBox控件该控件含有CSISMA三个系的选项让用户通过该控件选择查 询学生所在系在dataGridView控件中显示查询结果。代码详见d:gzcado数据库 ado_combox2005 程序 1.“数据库ado_combox2005”程序界面 2. 其中控件 comboBox1中项目Items的设置 3.“数据库ado_combox”程序中“查询按钮”运行结果 界面 4.“数据库ado_combox2005”程序代码 …… //用户添加System.Data.SqlClient可 以引用SQL Server专用的.NET数据提供者 using System.Data.SqlClient …… //以下 button1_Click是“数据库ado_combox”程序“查询”按钮代码 private void button1_Clickobject sender System.EventArgs e //生成连接对象实例thisConnection 连接SQL Server数据库魏菊丽20086666 SqlConnection thisConnectionnew SqlConnectionquotData Source localhostIntegrated SecuritySSPIInitial Catalog魏菊丽 20086666quot /创建并返回一个与thisConnection相关联的SqlCommand 对象实例 thisCommand同时获取或设置要对数据源执行的SQL语句/ SqlCommand thisCommandnew SqlCommandquotselect from student where sdeptquotcomboBox1.TextquotquotthisConnection //创建一个SqlDataAdapter 对象实 例thisAdapter SqlDataAdapter thisAdapternew SqlDataAdapter //获取一个SQL语句用 于在数据源中选择记录 thisAdapter.SelectCommandthisCommand DataSet thisDataSetnew DataSet//生成数据集实例thisDataSet thisConnection.Open//打开本次 设置的数据库连接 //将以上在数据源中选择的记录的所有行填充到数据集中仍然 命名为表student。 thisAdapter.FillthisDataSet quotstudentquot /设置 dataGridView1的 数据源为数据集中的数据/ this.dataGridView1.DataSourcethisDataSet.Tables0 thisConnection.Close//断开本次数据库连接 例题2用ADO.NET访问SQL数据库 建 立student数据库在该库中建立xs表其中含xh主键xm字段。在Form1中制作一个 dataGridView控件用来浏览数据库表中的数据。制作一个ListBox用来显示查询结果。 制作若干按钮分别完成浏览、添加、修改、删除、查询表中记录的功能。详见d:gz...C 课件 超市陈列培训课件免费下载搭石ppt课件免费下载公安保密教育课件下载病媒生物防治课件 可下载高中数学必修四课件打包下载 2006新 教案 中职数学基础模块教案 下载北师大版¥1.2次方程的根与系数的关系的教案关于坚持的教案初中数学教案下载电子教案下载 数据库sqlado 程序 1.本题界面设计如下: 2.代码如下 using System using System.Drawing using System.Collections using System.ComponentModel using System.Windows.Forms using System.Data using System.Data.SqlClient//用户自己添加 可以引用SQL Server专用的.NET数据提供者 static void Main Application.Runnew Form1 //以下功能是浏览数据库student中的xs表的所有记录 private void btnliulan_Clickobject sender System.EventArgs e //用SqlConnection对象实例 thisConnection连接SQL Server数据库student SqlConnection thisConnectionnew SqlConnectionquotData SourcelocalhostIntegrated SecuritySSPIInitial Catalogstudentquot //创建一个SqlDataAdapter 对象实例thisAdapte SqlDataAdapter thisAdapternew SqlDataAdapter //生成数据集实例 DataSet thisDataSetnew DataSet //创建并返回一个与SqlConnection相关联的SqlCommand 对象 SqlCommand thisCommandthisConnection.CreateCommand //获取或设置要对数据源执行的SQL语 句 thisCommand.CommandTextquotselect xhxm from xsquot thisAdapter.SelectCommand thisCommand //获取一个SQL语句用于在数据源中选择 记录 thisConnection.Open//打开本次设置的数据库连接 //将以上在数据源xs中选择 的记录的所有行填充到数据集中仍然命名为表xs。 thisAdapter.FillthisDataSetquotxsquot thisConnection.Close//断开本次数据库连接 /设 置 dataGridView1的数据源为数据集中的数据/ this.dataGridView1.DataSource thisDataSet.Tables0 //以下功能是查询数据库student中的xs表中姓“a”的所有记录 // 以下代码是显示查询结果的另一种方法即显示在listBox1中。 private void btnchaxun_Clickobject sender System.EventArgs e this.listBox1.Items.Clear SqlConnection thisConnectionnew SqlConnectionquotData SourcelaptopIntegrated SecuritySSPIInitial Catalogstudentquot SqlCommand thisCommandthisConnection.CreateCommand thisCommand.CommandTextquotselect xm from xs where xm like aquot thisConnection.Open /ExecuteReader创建读取器对象 用于读取生成的结果将带有所包含的结果的该读取器指派给thisReader/ SqlDataReader thisReaderthisCommand.ExecuteReader /Read方法从查询中读取单独 的一行数据.若有多个数据要读则返回true如果没有则返回false./ whilethisReader.Read /当Read返回true时输出结果。SqlDataReader对象提供索引符 属性允许引用列/ this.listBox1.Items.AddthisReaderquotxmquot thisReader.Close thisConnection.Close //以下功能是向数据库student中的xs表添加新记录 private void btntj_Clickobject sender System.EventArgs e SqlConnection thisConnectionnew SqlConnectionquotData SourcelocalhostIntegrated SecuritySSPIInitial Catalogstudentquot SqlDataAdapter thisAdapternew SqlDataAdapter DataSet thisDataSetnew DataSet SqlCommand thisCommandthisConnection.CreateCommand thisCommand.CommandTextquotselect xhxm from xs quot thisAdapter.SelectCommand thisCommand thisConnection.Open SqlCommandBuilder thisBuilder new SqlCommandBuilderthisAdapter thisAdapter.FillthisDataSet quotxsquot DataRow thisRowthisDataSet.Tablesquotxsquot.NewRow//在数据集的 xs Table中创建新行 thisRowquotxhquotquot555quotthisRowquotxmquotquotQQquot//设置新行中的个字段 值 thisDataSet.Tablesquotxsquot.Rows.AddthisRow//将新行添加到数据集的 xs Table 中 thisAdapter.UpdatethisDataSetquotxsquot// 修改数据库表 thisConnection.Close //以下功能是修改数据库student中的xs表的记录 private void btnxg_Clickobject sender System.EventArgs e SqlConnection thisConnectionnew SqlConnectionquotData SourcelocalhostIntegrated SecuritySSPIInitial Catalogstudentquot SqlDataAdapter thisAdapternew SqlDataAdapter DataSet thisDataSetnew DataSet SqlCommand thisCommandthisConnection.CreateCommand thisCommand.CommandTextquotselect xhxm from xs quot thisAdapter.SelectCommand thisCommand thisConnection.Open SqlCommandBuilder thisBuilder new SqlCommandBuilderthisAdapter thisAdapter.FillthisDataSet quotxsquot thisDataSet.Tablesquotxsquot.Rows5quotxmquotquotqqquot thisAdapter.UpdatethisDataSetquotxsquot thisConnection.Close //以下功能是删除数 据库student中的xs表的记录 private void btnsc_Clickobject sender System.EventArgs e SqlConnection thisConnectionnew SqlConnectionquotData SourcelocalhostIntegrated SecuritySSPIInitial Catalogstudentquot SqlDataAdapter thisAdapternew SqlDataAdapter DataSet thisDataSetnew DataSet SqlCommand thisCommandthisConnection.CreateCommand thisCommand.CommandTextquotselect xhxm from xs quot thisAdapter.SelectCommand thisCommand thisConnection.Open SqlCommandBuilder thisBuilder new SqlCommandBuilderthisAdapter thisAdapter.FillthisDataSet quotxsquot DataColumn keysnew DataColumn1 keys0thisDataSet.Tablesquotxsquot.Columnsquotxhquot//key0的值为该数据集xs Table 中的xh值 thisDataSet.Tablesquotxsquot.PrimaryKeykeys//设xh为主键 DataRow findRowthisDataSet.Tablesquotxsquot.Rows.Findquot555quot//获取包含指定主键值 quot555quot的行 // Call Update command to mark change in table iffindRow null //若找 到该行 findRow.Delete//删除该行 thisAdapter.UpdatethisDataSetquotxsquot//修改数 据库表 thisConnection.Close private void dataGrid1_Navigateobject sender System.Windows.Forms.NavigateEventArgs ne 7.5 使用OLE DB.NET数据提供者 应用举例 1.使用ADO.NET获取表中的数据。 参见D:GZC备课DATA程序 using System using System.Data using System.Data.OleDb namespace DATA class DataReaderAccessExample static void Mainstring args OleDbConnection thisConnection new OleDbConnection quotProviderMicrosoft.Jet.OLEDB.4.0Data SourceD:gzc备课db1.mdbquot thisConnection.Open//打开连接对象建立.
本文档为【第7章 获取数据】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_614050
暂无简介~
格式:doc
大小:35KB
软件:Word
页数:13
分类:金融/投资/证券
上传时间:2017-11-11
浏览量:18