《第14章 简单数据库编程.ppt》由会员分享,可在线阅读,更多相关《第14章 简单数据库编程.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第14章 简单数据库编程本章要点:数据库的基本概念 ADO.NET的基本概念 .NET Framework数据提供程序 ADO.NET对象 ADO.NET数据控件 ADO.NET数据库编程方法14.1 循序渐进学理论循序渐进学理论 14.1.1 数据库的基本概念 1 1数据库应用概述数据库应用概述数据库应用概述数据库应用概述 2 2数据库的基本概念数据库的基本概念数据库的基本概念数据库的基本概念 所所谓谓数数据据库库(Database Database DBDB),其其实实就就是是存存放放在在计计算算机机的的外外存存储储器器中中的的相相关关数数据据的的集集合合,可可以以形形象象地地看看作作是是
2、数数据据的的“仓仓库库”,它它是是通通过过文文件件或或类类似似于于文文件件的的数数据据单单位位组组织织起来的。起来的。3 3数据模型与关系数据库数据模型与关系数据库数据模型与关系数据库数据模型与关系数据库14.1.2 ADO.NET概述概述 1.NET Framework数据提供程序 (1 1)SQL Server.NETSQL Server.NET数据提供程序数据提供程序 (2 2)OLE DB.NETOLE DB.NET数据提供程序数据提供程序 (3 3).NET.NET数据提供程序模型的核心对象数据提供程序模型的核心对象 .NET.NET数据提供程序提供了四个核心对象,数据提供程序提供了
3、四个核心对象,分别是分别是ConnectionConnection、CommandCommand、DataReaderDataReader和和DataAdapterDataAdapter 对象。对象。2DataSet数据集数据集 DataSet的对象模型 3 3使用使用使用使用ADO.NETADO.NET开发数据库应用程序的一般步骤开发数据库应用程序的一般步骤开发数据库应用程序的一般步骤开发数据库应用程序的一般步骤 (1)根据使用的数据源,确定使用的.NET Framework数据提供程序;(2)建立与数据源的连接,需使用Connection对象;(3)执行对数据源的操作命令,通常是SQL命令
4、,需使用Command对象;(4)使用数据集对获得的数据进行操作,需使用DataReader、DataSet等对象;(5)向用户显示数据,需使用数据控件。14.1.3 SQL语言语言 1 1数据查询数据查询数据查询数据查询 格式格式:SELECT ALL|DISTINCT|TOP N|TOP N SELECT ALL|DISTINCT|TOP N|TOP N PERCENTPERCENT*|*|列名列名1 1或表达式或表达式1 AS 1 AS 列标题列标题1 ,1 ,列名列名2 2或表达式或表达式2 AS 2 AS 列列标题标题22FROM FROM 表名表名1 IN 1 IN 数据库名数据库
5、名1 1 别名别名1,1,表名表名2 IN 2 IN 数据库名数据库名2 2 别名别名2 2 WHERE WHERE 条件条件 GROUP BYGROUP BY列名列名1,1,列名列名22HAVING HAVING 条件条件 ORDER BY ORDER BY 列名列名1 ASC|DESC,1 ASC|DESC,列名列名2 ASC|DESC2 ASC|DESC例如,有语句:例如,有语句:Select Select 学号学号,姓名姓名,年级年级 from from 学生学生 Where Where 专业专业=自动自动化化 其作用是其作用是“列出自动化专业的全部学生的学号、姓列出自动化专业的全部学
6、生的学号、姓名和年级。名和年级。”又如,有语句:又如,有语句:SELECT SELECT 学生学生.学号学号,学生学生.姓名姓名,必修课成绩必修课成绩.课号课号,必修课成绩必修课成绩.成绩成绩 FROM FROM 学生学生,必修课成绩必修课成绩 WHERE WHERE 学生学生.学号学号=必修必修课成绩课成绩.学号学号其作用是其作用是“查询出所有学生的必修课的学习情况,查询出所有学生的必修课的学习情况,查询结果中包含学号、姓名、课号和成绩。查询结果中包含学号、姓名、课号和成绩。”2插入记录插入记录 格式格式:INSERT INTO INSERT INTO 表名表名(字段名字段名1,1,字段名字
7、段名2,)2,)VALUES(VALUES(表达式表达式1,1,表达式表达式2,)2,)例如,有下列语句:例如,有下列语句:INSERT INTO INSERT INTO 学生学生(学号学号,姓名姓名,专业专业)VALUES(040501,)VALUES(040501,朱朱碧春碧春,计算机软件计算机软件)其功能是向其功能是向“学生学生”表中插入一条记录,并给学号、姓名和表中插入一条记录,并给学号、姓名和专业字段赋值。专业字段赋值。3修改记录修改记录 格式格式:UPDATE UPDATE 表名表名 SET SET 字段名字段名1=1=表达式表达式1,1,字段名字段名2=2=表表达式达式2 WHE
8、RE 2 WHERE 条件条件 4删除记录删除记录 格式格式:DELETE FROM DELETE FROM 表名表名 WHERE WHERE 条件条件 例如,有以下语句:DELETE FROM 学生 WHERE 专业=经济管理其作用是从“学生”表中删除所有“经济管理”专业的学生。14.1.4 ADO.NET对象及其编程1Connection对象及其使用 【例例14-114-1】编写一个用来测试连接的应用程序,编写一个用来测试连接的应用程序,用来建立与当前目录下的用来建立与当前目录下的Microsoft Access 2002Microsoft Access 2002数数据库据库Student
9、.mdbStudent.mdb的连接。程序的设置界面如图的连接。程序的设置界面如图14-14-3 3所示,程序的运行界面如图所示,程序的运行界面如图14-414-4所示。所示。图14-3 程序设计界面 图14-4 程序运行界面 2Command对象及其使用对象及其使用(1 1)CommandCommand对象的常用属性对象的常用属性 CommandTypeCommandType属性属性 CommandTextCommandText属性属性 CommandTimeoutCommandTimeout属性属性 ConnectionConnection属性属性 (2 2)CommandCommand对
10、象的常用方法对象的常用方法 PreparePrepare方法方法 格式格式:public void Prepare();public void Prepare();ExecuteNonQueryExecuteNonQuery方法方法 格式格式:public public intint ExecuteNonQueryExecuteNonQuery();();ExecuteReaderExecuteReader方法方法 格式格式:public public OleDbDataReaderOleDbDataReader ExecuteReaderExecuteReader();();【例例14-21
11、4-2】已知在应用程序当前目录下,有一个名为已知在应用程序当前目录下,有一个名为Student.mdbStudent.mdb的数据库,该数据库中有一个名为的数据库,该数据库中有一个名为studentstudent的表,的表,表中的数据如图表中的数据如图14-514-5所示。请使用所示。请使用CommandCommand对象执行对象执行SQLSQL命令向表中插入一个学生的信息,学生数据如下:命令向表中插入一个学生的信息,学生数据如下:01010106 01010106 张和平张和平 男男 010101 1985-7-28 010101 1985-7-28 安徽无为安徽无为 插入后,插入后,stu
12、dentstudent表中的内容如图表中的内容如图14-614-6所示。所示。图14-5 插入前的student表中的数据 图14-6 插入后的student表中的数据 3DataReader对象及其使用对象及其使用(1 1)DataReaderDataReader对象的常用属性对象的常用属性 FieldCountFieldCount属性属性 RecordsAffectedRecordsAffected属性属性(2 2)DataReaderDataReader对象的常用方法对象的常用方法 ReadRead方法方法 格式格式:public public boolbool Read();Read(
13、);NextResultNextResult方法方法 格式格式:public public boolbool NextResultNextResult();();Close Close方法方法 格式格式:public void Close();public void Close();Get Get方法方法 格式格式:public Get(public Get(intint ordinal);ordinal);【例14-3】已知在应用程序当前目录下,有一个名为Student.mdb的数据库,该数据库中有一个名为student的表。请编写一个程序用来从该表中读取所有男生的数据,并显示出来。程序的设
14、计界面如图14-7所示,程序的运行界面如图14-8所示。程序运行时单击【连接并读取】按钮,将会把所有男生的数据显示在窗体上。图14-7 程序设计界面 图14-8 程序运行界面 4DataAdapter对象及其使用对象及其使用(1 1)DataAdapterDataAdapter对象的常用属性对象的常用属性 SelectCommandSelectCommand属性属性 InsertCommandInsertCommand属性属性 UpdateCommandUpdateCommand属性属性 DeleteCommandDeleteCommand属性属性 (2 2)DataAdapterDataAd
15、apter对象的常用方法对象的常用方法 FillFill方法方法 格式格式:public public intint Fill(DataSetFill(DataSet dataSetdataSet,string,string srcTablesrcTable);UpdateUpdate方法方法 格式格式1 1:public override public override intint Update(DataSetUpdate(DataSet dataSetdataSet););格式格式2 2:public override public override intint Update(Data
16、SetUpdate(DataSet dataSet,stringdataSet,string Table);Table);5DataSet对象及其使用对象及其使用(1 1)DataSetDataSet对象的组成对象的组成(2 2)DataSetDataSet对象的填充对象的填充(3 3)DataSetDataSet对象的访问对象的访问 格式格式1 1:数据集对象名:数据集对象名.Tables“.Tables“数据表名数据表名”.RowsnRowsn“列名列名”格式格式2 2:数据集对象名:数据集对象名.Tables“.Tables“数据表名数据表名”.Rowsn.ItemsArraykRows
17、n.ItemsArrayk 【例例14-414-4】使用使用DataAdapterDataAdapter和和DataSetDataSet对象重新实现对象重新实现例例14-314-3的功能。的功能。(4)向DataSet对象中添加行(5)从DataSet对象中删除行(6)修改DataSet对象中的数据(7)利用DataSet对象更新数据源14.1.5 利用利用ADO.NET控件编写数据库应用程序控件编写数据库应用程序1 1ADO.NETADO.NET数据控件数据控件ADO.NET数据控件 【例例14-514-5】已知在应用程序当前目录下,有一个已知在应用程序当前目录下,有一个名为名为Studen
18、t.mdbStudent.mdb的数据库,该数据库中有一个名的数据库,该数据库中有一个名为为studentstudent的表。请编写一个程序用来从该表中读的表。请编写一个程序用来从该表中读取所有女生的数据,并显示出来。取所有女生的数据,并显示出来。程序运行界面 2数据绑定控件数据绑定控件(1 1)数据绑定的概念)数据绑定的概念 数据绑定的含义是使控件和数据源捆绑在一起,通过数据绑定的含义是使控件和数据源捆绑在一起,通过控件来显示或修改数据。控件来显示或修改数据。(2 2)简单数据绑定的方法)简单数据绑定的方法 【例例14-614-6】已知在应用程序当前目录下,有一个已知在应用程序当前目录下,有
19、一个名为名为Student.mdbStudent.mdb的数据库,该数据库中有一个名的数据库,该数据库中有一个名为为studentstudent的表,请编写一个浏览该数据表的程序,的表,请编写一个浏览该数据表的程序,程序的设计界面如图程序的设计界面如图14-2214-22所示,程序的运行界面所示,程序的运行界面如图如图14-2314-23所示。程序运行时单击相应按钮,将在所示。程序运行时单击相应按钮,将在界面上显示相应记录的内容。界面上显示相应记录的内容。图14-22 程序设计界面 图14-23 程序运行界面(3)DataGrid控件控件 运行时绑定可通过调用DataGrid控件的SetDat
20、aBinding方法来实现.格式:public void SetDataBinding(object dataSource,string dataMember);14.2 典型实例练能力典型实例练能力 14.2.1 14.2.1 典型实例一:学生信息综合管理典型实例一:学生信息综合管理典型实例一:学生信息综合管理典型实例一:学生信息综合管理 【实例题目实例题目】已知在应用程序当前目录下,有一个名为已知在应用程序当前目录下,有一个名为Student.mdbStudent.mdb的数据库,该数据库中有一个名为的数据库,该数据库中有一个名为studentstudent的表,请编写一个对的表,请编写一
21、个对StudentStudent表进行综合维表进行综合维护的程序。程序的设计界面如图护的程序。程序的设计界面如图14-2414-24所示,程序所示,程序的运行界面如图的运行界面如图14-2514-25所示。程序运行时单击相应所示。程序运行时单击相应的功能按钮将实现相应的功能。要求显示数据的的功能按钮将实现相应的功能。要求显示数据的文本框控件不得与字段绑定,使用编程的方法来文本框控件不得与字段绑定,使用编程的方法来处理显示。处理显示。图14-24 程序设计界面 图14-25 程序运行界面 14.3 上机练习重应用上机练习重应用 14.3.1 上机练习一:按照姓名模糊查询程序上机练习一:按照姓名模糊查询程序 【练习题目】编写一个按照姓名模糊查询的程序,程序使用的数据依旧是Student.MDB数据库中的Student表。程序的设计界面如图14-26所示,程序的运行界面如图14-27所示。程序执行时,在文本框中输入姓名的前若干个字符,然后按【查询】按钮,则在DataGrid控件中显示出满足条件的记录。图14-26 程序设计界面 图14-27 程序运行界面
限制150内