版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第12章章 简单数据库编程简单数据库编程本章要点: 数据库的基本概念 ADO.NET的基本概念 .NET Framework数据提供程序 ADO.NET对象 ADO.NET数据控件 ADO.NET数据库编程方法数据库系统数据库系统DBS1) 数据库系统数据库系统(DataBase System, DBS)的组成的组成计算机硬件计算机硬件Hardware数据库数据库Database,DB数据库管理系统数据库管理系统Soft ware应用程序应用程序Application用户用户User存储数据库及运行DBMS的硬件资源,包括主机、存储设备、IO通道等。负责数据库存取、维护和管理的软件资源以一定
2、方式组织在一起、存储在外部存储设备上、能共享、与应用程序独立的相关数据集合在DBMS基础上,由用户开发的、能处理特定业务的应用程序管理、开发、使用数据库系统的所有人员数据库管理员应用程序员终端用户12.1 循序渐进学理论2. 基本的数据模型基本的数据模型层次模型(Hierarchical Model)网状模型(Network Model)关系模型学 院 1系 1系 2学 院 2学 院 3 大 学层次模型层次模型产品产品1产品产品2材料材料1工件工件1材料材料2材料材料3材料材料4网状模型网状模型学号身份证号姓名性别年龄是否团员011110110203880121211李建国男19是011111
3、420106670705286刘美女18是011112110203991027331张丰男19是011113110203980823223黄文女18否学生情况表学生情况表关系模型12.1.2 ADO.NET概述1.NET Framework数据提供程序 (1)SQL Server .NET数据提供程序 (2)OLE DB .NET数据提供程序 (3)ODBC .NET数据提供程序 (4)Oracle .NET数据提供程序 2.Data Provider的四个核心对象对象功能描述Connection(连接对象)与特定的数据源建立连接Command(命令对象)针对每一个数据源执行相应的命令。该命令
4、对象可显示相关参数,并在连接确定的范围执行命令。DataReader(数据读取器)从数据源读取向前的、只读的数据流DataAdapter(数据适配器)用数据源来填充数据集,并解析更新数据源12.1.2 ADO.NET概述Data Provider核心对象可连接的数据源所在命名空间用于SQL Server的Data ProviderSqlConnectionSqlCommandSqlDataAdapterSqlDataReaderSQL Server 7.0及以上版本System.Data.SqlClient用于OLE DB的Data Provider OleDbConnectionOleDbC
5、ommandOleDbDataAdapterOleDbDataReaderSQL Server 6.x及以前版本OLE DB数据源如MS AccessSystem.Data.OleDb 用于ODBC的Data ProviderOdbcConnectionOdbcCommandOdbcDataAdapterOdbcDataReaderODBC数据源System.Data.Odbc用于Oracle的Data ProviderOracleConnection,OracleCommandOracleDataAdapterOracleDataReaderOracle数据源System.Data.Orac
6、leClient3DataSet数据集 DataSet的对象模型 4使用ADO.NET开发数据库应用程序的一般步骤 (1)根据使用的数据源,确定使用的.NET Framework数据提供程序;(2)建立与数据源的连接,需使用Connection对象;(3)执行对数据源的操作命令,通常是SQL命令,需使用Command对象;(4)使用数据集对获得的数据进行操作,需使用DataReader、DataSet等对象;(5)向用户显示数据,需使用数据控件。 12.1.3 SQL语言 1数据查询数据查询格式:Select 字段名列表 From 数据表名 Where 条件例如,有下列语句:Select 教师
7、号,姓名,工资 From 教师 Where 职称=讲师其作用是“列出职称是讲师的教师的教师号、姓名和工资。 2插入记录 格式:INSERT INTO 表名(字段名1 , 字段名2, )VALUES (表达式1 ,表达式2,)例如,有下列语句:INSERT INTO 教师(教师号,姓名,职称) VALUES(010501,张小丽,助教)其功能是向“教师”表中插入一条记录,并给教师号、姓名和职称字段赋值。3修改记录修改记录格式:UPDATE 表名 SET 字段名1 = 表达式1,字段名2=表达式2 WHERE 条件4删除记录 格式:DELETE FROM 表名 WHERE 条件例如,有以下语句:D
8、ELETE FROM 教师WHERE 考评=不称职其作用是从教师表中删除所有考评不合格的教师。12.1.4 ADO.NET对象及其编程对象及其编程1Connection对象及其使用 【例12-1】 编写一个用来测试连接的应用程序,用来建立与当前目录下的Microsoft Access 2002数据库Txlgl.mdb的连接。程序的设置界面如图12-3所示,程序的运行界面如图12-4所示。图12-3 程序设计界面 图12-4 程序运行界面 2Command对象及其使用(1)Command对象的常用属性 CommandType属性 CommandText属性 CommandTimeout属性 Co
9、nnection属性 (2)Command对象的常用方法 Prepare方法 格式:NotOverridable Public Sub Prepare() Implements IDbCommand.Prepare ExecuteNonQuery方法 格式:NotOverridable Public Function ExecuteNonQuery() As Integer Implements IDbCommand.ExecuteNonQueryExecuteReader方法 格式: Overloads Public Function ExecuteReader() As OleDbData
10、Reader 3DataReader对象及其使用(1)DataReader对象的常用属性 FieldCount属性 RecordsAffected属性(2)DataReader对象的常用方法 Read方法 格式:NotOverridable Public Function Read() As Boolean Implements IDataReader.Read NextResult方法 格式:NotOverridable Public Function NextResult() As Boolean Implements IDataReader.NextResult Close方法 格式:N
11、otOverridable Public Sub Close() Implements IDataReader.Close Get方法 格式:NotOverridable Public Function Get( ByVal ordinal As Integer ) As Implements IDataRecord.GetByte 【例12-2】 已知在应用程序当前目录下,有一个名为Txlgl.mdb的数据库,该数据库中有一个名为Txl的表。请编写一个程序用来从该表中读取所有性别为女的人的姓名、性别和电话号码等信息,并显示出来。程序的设计界面如图12-5所示,程序的运行界面如图12-6所示。
12、程序运行时单击【连接并读取】按钮,将会把所有性别为女的通信录数据显示在窗体上。 图12-5 程序设计界面 图12-6 程序运行界面 4DataAdapter对象及其使用(1)DataAdapter对象的常用属性 SelectCommand属性 InsertCommand属性 UpdateCommand属性 DeleteCommand属性 (2)DataAdapter对象的常用方法 Fill方法 格式:Overloads Public Function Fill( ByVal dataSet As DataSet, ByVal srcTable As String ) As Integer Up
13、date方法格式1:Overrides Overloads Public Function Update(ByVal dataSet As DataSet ) As Integer Implements IDataAdapter.Update 格式2:Overloads Public Function Update( ByVal dataSet As DataSet, ByVal srcTable As String ) As Integer5DataSet对象及其使用 (1)DataSet对象的组成DataTableDataRelationDataColumnDataRow集合:Tables
14、,Relations, Columns, Rows,ChildRelations,ParentRelations (2)DataSet对象的填充用DataAdapter对象的Fill方法填充声明DataRow,给DataRow的各成员赋值,然后将DataRow添加到Rows集合中XML文档或流读入数据集中 (3)DataSet对象的访问 格式1:数据集对象名.Tables (“数据表名”).Rows(n)(“列名”) 格式2:数据集对象名.Tables(“数据表名”).Rows(n).ItemsArray(k) 【例12-3】 使用DataAdapter和DataSet对象重新实现例12-2的
15、功能5DataSet对象及其使用 (4)利用DataSet对象更新数据源 对DataSet对象的更改并没有实际写入到数据源中,要将更改传递给数据源(即使用DataSet对象更新数据源),还需调用DataAdapter对象的Update方法。 12.1.5 利用利用ADO .NET控件编写数据库应用程序控件编写数据库应用程序1ADO .NET数据控件ADO.NET数据控件 【例12-4】 已知在应用程序当前目录下,有一个名为txlgl.mdb的数据库,该数据库中有一个名为txl的表。请编写一个程序用来从该表中读取所有性别为男的记录的姓名、性别、年龄、电话号码和电子邮件信息并显示出来。 程序运行界
16、面 2数据绑定控件 (1)数据绑定的概念 数据绑定的含义是使控件和数据源捆绑在一起,通过控件来显示或修改数据。(2)简单数据绑定的方法【例12-5】 已知在应用程序当前目录下,有一个名为Txlgl.mdb的数据库,该数据库中有一个名为txl的表,用来存放好友的通信录信息。请编写一个浏览该数据表的程序,用来浏览通信录表中的数据,程序的设计界面如图12-20所示,程序的运行界面如图12-21所示。程序运行时,单击“ ”按钮,将显示第一条通信录的信息,单击“ ”按钮,将显示前一条通信录的信息,单击“ ”按钮,将显示后一条通信录的信息,单击“ ”按钮,将显示最后一条通信录的信息。 图12-20程序设计
17、界面 图12-21程序运行界面 p数据的绑定也可通过代码来实现例1 TextBox1.DataBindings.Add(Text, MyDataSet1, “Table.ContractNo)例2 DataGrid1.Datasource = MyDataSet1 DataGrid1.DataMember = Table12.2 典型实例练能力典型实例练能力12.2.1 典型实例一:通信录信息的综合维护典型实例一:通信录信息的综合维护 【实例题目】 已知在应用程序当前目录下,有一个名为Txlgl.mdb的数据库,该数据库中有一个名为txl的表,用来存放好友的通信录信息。请编写一个对txl表进行
18、综合维护的程序。程序的设计界面如图12-22所示,程序的运行界面如图12-23所示。程序运行时单击相应的功能按钮将实现相应的功能。要求显示数据的文本框控件不得与字段绑定,使用编程的方法来处理显示。字段绑定,使用编程的方法来处理显示。 图12-22 程序设计界面 图12-23 程序运行界面 12.2.2 主从表应用程序的开发主从表应用程序的开发1、主从表应用程序的开发、主从表应用程序的开发主从表:两个通过公共字段建立关联关系的表,其一为主表,主从表:两个通过公共字段建立关联关系的表,其一为主表,另一个为从表。另一个为从表。主从表应用程序:当主表的记录指针移动时,从表中可显示主从表应用程序:当主表的记
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年林芝地区林芝县一级造价工程师《土建计量》深度预测试卷含解析
- 2024房屋终止租赁合同版
- 2024外币资金转贷款合同范本
- 2024太阳能销售安装售后合同范本
- 2024年U型荧光灯管项目发展计划
- 2024地皮买卖合同的范本
- 2024土地联产合同范文
- 2024汽车供货合同范文
- 2024年商业、饮食、服务业专用设备项目发展计划
- 2024年核防护材料及装置项目合作计划书
- 深圆筒拉深毕业设计
- GB/T 34897-2017滚动轴承工业机器人RV减速器用精密轴承
- FZ/T 81013-2007宠物狗服装
- 【全套精品课件】国际金融学课件
- 海铁联运是什么-流程及发展优势分析
- 河流河流水系和流域课件
- 认识26个英文字母英文字母笔顺课件
- 水箱清洗管理制度
- 百格测试报告interiorcrosscuttestreport
- 联想电脑维修管理手册
- 实训使用搭建服务器实训基础报告
评论
0/150
提交评论