VC# 第11讲 简单数据库编程.ppt

上传人:asd****56 文档编号:87679375 上传时间:2023-04-16 格式:PPT 页数:44 大小:505.50KB
返回 下载 相关 举报
VC# 第11讲 简单数据库编程.ppt_第1页
第1页 / 共44页
VC# 第11讲 简单数据库编程.ppt_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《VC# 第11讲 简单数据库编程.ppt》由会员分享,可在线阅读,更多相关《VC# 第11讲 简单数据库编程.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Visual C#.NET程序设计程序设计第十一讲 简单数据库编程数据库和数据库系统数据库和数据库系统n n数据库数据库数据库数据库:按一定结构组织在一起的相关数据的集合按一定结构组织在一起的相关数据的集合n n数据库管理系统(数据库管理系统(数据库管理系统(数据库管理系统(DBMSDBMS):它是专门负责组织和它是专门负责组织和管理数据信息的软件管理数据信息的软件n n数据库应用程序数据库应用程序数据库应用程序数据库应用程序:它使我们能够获取、显示和更新它使我们能够获取、显示和更新由由DBMSDBMS存储的数据存储的数据n n 数据库的核心是数据,其具体的组织形式与数数据库的核心是数据,其具

2、体的组织形式与数据库管理系统紧密关联,而表现形式又取决于数据据库管理系统紧密关联,而表现形式又取决于数据库应用程序。库应用程序。数据库访问数据库访问的几个概念的几个概念 数据源数据源(Data Source)数据源是指本地和远程的物理数据库,或者是XML文件。数据提供者数据提供者(Data Provider)数据提供者将如何实现与物理数据库或者XML文件连接的复杂过程细节对用户隐藏,展现在用户面前的只是简单地使用该部件轻松地完成连接到一个或多个数据源、传送命令,以及将数据传送到数据集(DataSet)中。数据集数据集(DataSet)数据集对象用来表示来自一个或多个数据源并保存在内存中的表和关

3、系。ADO.NET对象模型的结构对象模型的结构 ADO.NET的对象模型由两个部分组成:数据提供程序(Data Provider,有时也叫托管提供程序)和数据集(DataSet)。数据提供程序负责与物理数据源的连接,数据集代表实际的数据。这两个部分都可以和数据使用程序通信,如Web Form窗体和Win Form窗体。1 1数据提供程序数据提供程序 .Net.Net数据提供程序提供了四个核心对象:数据提供程序提供了四个核心对象:Connect,Connect,Connect,Connect,Command,Command,Command,Command,DataReaderDataReader

4、DataReaderDataReader,DataAdapterDataAdapterDataAdapterDataAdapterADO.NET对象模型的结构对象模型的结构2.2.数据集数据集数据集数据集n n数据集(数据集(DataSetDataSet)是记录在内存中的数据,它的)是记录在内存中的数据,它的结构如图所示结构如图所示。ADO.NET数据库开发方式数据库开发方式1.1.了解了解了解了解ADO.NETADO.NET数据库开发数据库开发数据库开发数据库开发 ADO.NETADO.NET在在WindowsWindows平台下主要有平台下主要有4 4种数据库访问方式:种数据库访问方式:O

5、LEDBOLEDB模式、模式、ODBCODBC模式、模式、SQLClientSQLClient模式和模式和OracleOracle数据库模数据库模式,每一种模式都有前述式,每一种模式都有前述ADO.NETADO.NET对象模型的一种实现。对象模型的一种实现。OLEDBOLEDB模式模式 OLEDBOLEDB模式主要用于访问模式主要用于访问OLEDBOLEDB所支持的数据库。所支持的数据库。在使用在使用OLEDBOLEDB模式时需要引入的命名空间有模式时需要引入的命名空间有System.DataSystem.Data和和System.Data.OleDbSystem.Data.OleDb,对应于

6、,对应于ADO.NETADO.NET对象模型中的对象,对象模型中的对象,OLEDBOLEDB模式的对象名称分别为模式的对象名称分别为OleDbConnectionOleDbConnection对象,对象,OleDbCommandOleDbCommand对象,对象,OleDbDataAdapterOleDbDataAdapter对象和对象和OleDbDataReaderOleDbDataReader对象。对象。ADO.NET数据库开发方式数据库开发方式 ODBCODBCODBCODBC模式模式模式模式 ODBCODBC模式主要用于连接模式主要用于连接ODBCODBC所支持的数据库。所支持的数据库

7、。在使用在使用ODBCODBC模式时需要引入的命名空间有模式时需要引入的命名空间有System.DataSystem.Data和和System.Data.OdbcSystem.Data.Odbc,对应于,对应于ADO.NETADO.NET对象模型中的对象,对象模型中的对象,ODBCODBC模式的对象名称分别为模式的对象名称分别为OdbcConnectionOdbcConnection对象,对象,OdbcCommandOdbcCommand对象,对象,OdbcDataAdapterOdbcDataAdapter对象和对象和OdbcDataReaderOdbcDataReader对象。对象。SQL

8、ClientSQLClientSQLClientSQLClient模式模式模式模式 SQLClientSQLClient模式只用于访问模式只用于访问MS SQL ServerMS SQL Server数据库,是数据库,是ADO.NETADO.NET中比较特殊的组件。中比较特殊的组件。在使用在使用SQLClientSQLClient模式时需要引入的命名空间有模式时需要引入的命名空间有System.DataSystem.Data和和System.Data.SqlClientSystem.Data.SqlClient,对应于,对应于ADO.NETADO.NET对象模型中的对象分别是对象模型中的对象分

9、别是SqlConnectionSqlConnection对象、对象、SqlCommandSqlCommand对象、对象、SqlDataAdapterSqlDataAdapter对象和对象和SqlDataReaderSqlDataReader对象。对象。ADO.NET数据库开发方式数据库开发方式2.ADO.NET中两种基本的数据库开发方式中两种基本的数据库开发方式 利用利用CommandCommand对象和对象和DataReaderDataReader对象直接操作和显示数据对象直接操作和显示数据 可以使用数据命令可以使用数据命令CommandCommand对象和数据读取器对象对象和数据读取器对象

10、DataReaderDataReader以便与数据源直接通信。使用数据命令以便与数据源直接通信。使用数据命令CommandCommand对象和数据读取器对象对象和数据读取器对象DataReaderDataReader直接进行的数据库操作包直接进行的数据库操作包括:运行查询和存储过程、创建数据库对象、使用括:运行查询和存储过程、创建数据库对象、使用DDLDDL命命令直接更新和删除令直接更新和删除 使用使用DataAdapterDataAdapter对象和对象和DataSetDataSet对象对象 如果应用程序需要访问多个源中的数据如果应用程序需要访问多个源中的数据,需要与其他应用,需要与其他应用

11、程序相互操作或者可受益于保持和传输缓存结果,则使用程序相互操作或者可受益于保持和传输缓存结果,则使用DataAdapterDataAdapter适配器对象和数据集适配器对象和数据集DataSetDataSet是一个极好的选择。是一个极好的选择。3 3使用使用使用使用ADO.NETADO.NET开发数据库应用程序的一般步骤开发数据库应用程序的一般步骤开发数据库应用程序的一般步骤开发数据库应用程序的一般步骤 (1)根据使用的数据源,确定使用的.NET Framework数据提供程序;(2)建立与数据源的连接,需使用Connection对象;(3)执行对数据源的操作命令,通常是SQL命令,需使用Co

12、mmand对象;(4)使用数据集对获得的数据进行操作,需使用DataReader、DataSet等对象;(5)向用户显示数据,需使用数据控件。SQL语言语言 结构化查询语言结构化查询语言(Structure Query LanguageStructure Query Language,简称,简称SQLSQL)是基于关系模型的数据库查询语言,)是基于关系模型的数据库查询语言,它是一种非过程化的程序语言。它是一种非过程化的程序语言。如如:Select:Select 图书名称图书名称,出版时间出版时间 from from 图书图书 where where 出版社出版社=机械工业出版社机械工业出版社

13、含义为从含义为从BOOKBOOK数据库的图书表中将出版社数据库的图书表中将出版社是机械工业出版社的所有图书选出来,并列出是机械工业出版社的所有图书选出来,并列出它们的图书名称和出版时间。它们的图书名称和出版时间。SQL的基本语法的基本语法SQL的基本语法的基本语法SQL的基本语法的基本语法 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 ,列名

14、列名2 2或表达式或表达式2 AS 2 AS 列列标题标题22FROM FROM 表名表名1 IN 1 IN 数据库名数据库名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 学生学生

15、 Where Where 专业专业=自动自动化化 其作用是其作用是“列出自动化专业的全部学生的学号、姓列出自动化专业的全部学生的学号、姓名和年级。名和年级。”又如,有语句:又如,有语句:SELECT SELECT 学生学生.学号学号,学生学生.姓名姓名,必修课成绩必修课成绩.课号课号,必修课成绩必修课成绩.成绩成绩 FROM FROM 学生学生,必修课成绩必修课成绩 WHERE WHERE 学生学生.学号学号=必修必修课成绩课成绩.学号学号其作用是其作用是“查询出所有学生的必修课的学习情况,查询出所有学生的必修课的学习情况,查询结果中包含学号、姓名、课号和成绩。查询结果中包含学号、姓名、课号和

16、成绩。”2插入记录插入记录 格式格式:INSERT INTO INSERT INTO 表名表名(字段名字段名1,1,字段名字段名2,)2,)VALUES(VALUES(表达式表达式1,1,表达式表达式2,)2,)例如,有下列语句:例如,有下列语句:INSERT INTO INSERT INTO 学生学生(学号学号,姓名姓名,专业专业)VALUES(040501,)VALUES(040501,朱朱碧春碧春,计算机软件计算机软件)其功能是向其功能是向“学生学生”表中插入一条记录,并给学号、姓名和表中插入一条记录,并给学号、姓名和专业字段赋值。专业字段赋值。3修改记录修改记录 格式格式:UPDATE

17、 UPDATE 表名表名 SET SET 字段名字段名1=1=表达式表达式1,1,字段名字段名2=2=表表达式达式2 WHERE 2 WHERE 条件条件 4删除记录删除记录 格式格式:DELETE FROM DELETE FROM 表名表名 WHERE WHERE 条件条件 例如,有以下语句:DELETE FROM 学生 WHERE 专业=经济管理其作用是从“学生”表中删除所有“经济管理”专业的学生。ADO.NET对象及其编程1Connection对象及其使用 在在ADO.NETADO.NET中,通过在连接字符串中提供必要的身份验中,通过在连接字符串中提供必要的身份验证信息,使用证信息,使用

18、ConnectionConnection对象连接到特定的数据源,该对对象连接到特定的数据源,该对象主要保存了有关数据库服务器的信息,用于打开和关闭象主要保存了有关数据库服务器的信息,用于打开和关闭与数据库的连接。与数据库的连接。属性:属性:ConnectionStringConnectionString方法:方法:Open()Open()Close()Close()ADO.NET对象及其编程 【例例14-114-1】编写一个用来测试连接的应用程序,编写一个用来测试连接的应用程序,用来建立与当前目录下的用来建立与当前目录下的Microsoft Access 2002Microsoft Acces

19、s 2002数数据库据库Student.mdbStudent.mdb的连接。程序的设置界面如图的连接。程序的设置界面如图14-14-3 3所示,程序的运行界面如图所示,程序的运行界面如图14-414-4所示。所示。图14-3 程序设计界面 图14-4 程序运行界面 2Command对象及其使用对象及其使用(1 1)CommandCommand对象的常用属性对象的常用属性 CommandTypeCommandType属性属性 CommandTextCommandText属性属性 CommandTimeoutCommandTimeout属性属性 ConnectionConnection属性属性 2

20、Command对象及其使用对象及其使用(2)Command对象的常用方法l l Prepare方法 格式:public void Prepare();l l ExecuteNonQuery ExecuteNonQuery方法方法 格式格式:public public intint ExecuteNonQueryExecuteNonQuery();();执行Transact-SQL INSERT、DELETE、UPDATE及SET语句等命令,返回值为受影响的行数。l l ExecuteReaderExecuteReader方法方法 格式格式:public public OleDbDataRead

21、erOleDbDataReader ExecuteReaderExecuteReader();();常用来执行返回数据集结果的命令。如Select语句 【例例14-214-2】已知在应用程序当前目录下,有一个已知在应用程序当前目录下,有一个名为名为Student.mdbStudent.mdb的数据库,该数据库中有一个名的数据库,该数据库中有一个名为为studentstudent的表,表中的数据如图的表,表中的数据如图14-514-5所示。请使用所示。请使用CommandCommand对象执行对象执行SQLSQL命令向表中插入一个学生命令向表中插入一个学生的信息,学生数据如下:的信息,学生数据如

22、下:01010106 01010106 张和平张和平 男男 010101 1985-7-28 010101 1985-7-28 安徽无为安徽无为 插入后,插入后,studentstudent表中的内容如图表中的内容如图14-614-6所示。所示。图14-5 插入前的student表中的数据 图14-6 插入后的student表中的数据 3DataReader对象及其使用对象及其使用 ADO.NET的DataReader对象可以从数据库中检索只读、只进的数据流,实现对数据源中的数据高速、只向前的访问。(1)DataReader对象的常用属性 FieldCount属性 RecordsAffecte

23、d属性(2)DataReader对象的常用方法 ReadRead方法方法 格式格式:public public boolbool Read();Read();使使DataReaderDataReader对象前进到下一条记录对象前进到下一条记录 CloseClose方法方法 格式格式:public void Close();public void Close();关闭关闭DataReaderDataReader对象对象 GetGet方法方法 格式:public Get (int ordinal);从ordinal指定的列中读取数据【例14-3】已知在应用程序当前目录下,有一个名为Student.

24、mdb的数据库,该数据库中有一个名为student的表。请编写一个程序用来从该表中读取所有男生的数据,并显示出来。程序的设计界面如图14-7所示,程序的运行界面如图14-8所示。程序运行时单击【连接并读取】按钮,将会把所有男生的数据显示在窗体上。图14-7 程序设计界面 图14-8 程序运行界面 4DataAdapter对象及其使用对象及其使用 DataAdapter通过使用Command和Connection对象在数据源和数据集(DataSet)两者之间构成一座桥梁。即结合DataSet使用,使得DataSet“连接”到数据源中,以便检索和保存数据。本质上DataAdapter是容器,它含有

25、4个预先配置好的Command实例,即SelectCommand、InsertCommand、DeleteCommand和UpdateCommand。(1 1)DataAdapterDataAdapter对象的常用属性对象的常用属性 SelectCommandSelectCommand属性属性 InsertCommandInsertCommand属性属性 UpdateCommandUpdateCommand属性属性 DeleteCommandDeleteCommand属性属性 (2 2)DataAdapterDataAdapter对象的常用方法对象的常用方法 FillFill方法方法 格式格式

26、:public public intint Fill(DataSetFill(DataSet dataSetdataSet,string,string srcTablesrcTable);从参数从参数srcTablesrcTable指定的表中提取数据以填充数据集指定的表中提取数据以填充数据集 UpdateUpdate方法方法 格式格式1 1:public override public override intint Update(DataSetUpdate(DataSet dataSetdataSet););把对参数把对参数dataSetdataSet所指定的数据集进行的插入、删除等操作所指

27、定的数据集进行的插入、删除等操作更新到数据源中。该方法用于数据集中只有一个表。更新到数据源中。该方法用于数据集中只有一个表。格式格式2 2:public override public override intint Update(DataSetUpdate(DataSet dataSet,stringdataSet,string Table);Table);适用于数据集中存在多个表的情况。适用于数据集中存在多个表的情况。5DataSet对象及其使用对象及其使用(1 1)DataSetDataSet对象的组成对象的组成 DataTableDataTable对象、对象、对象、对象、DataRel

28、ationDataRelation对象、对象、对象、对象、DataColumeDataColume对象、对象、对象、对象、DataRowDataRow(2 2)DataSetDataSet对象的填充对象的填充 调用调用调用调用DataAdapterDataAdapter对象的对象的对象的对象的FillFill方法,使用方法,使用方法,使用方法,使用DataAdapterDataAdapter对象的对象的对象的对象的SelectCommandSelectCommand的结果来填充的结果来填充的结果来填充的结果来填充DataSetDataSet对象。对象。(3 3)DataSetDataSet对象

29、的访问对象的访问 格式格式1 1:数据集对象名:数据集对象名.Tables“.Tables“数据表名数据表名”.RowsnRowsn“列列名名”格式格式2 2:数据集对象名:数据集对象名.Tables“.Tables“数据表名数据表名”.Rowsn.ItemsArraykRowsn.ItemsArrayk 【例例14-414-4】使用使用DataAdapterDataAdapter和和DataSetDataSet对象重新实现例对象重新实现例14-14-3 3的功能。的功能。(4 4)向)向DataSetDataSet对象中添加行对象中添加行 DataRowDataRow MyDRMyDR=My

30、Ds.Tables“Student”.NewRowMyDs.Tables“Student”.NewRow();();MyDR“StudentIDMyDR“StudentID”=“01000102”;”=“01000102”;MyDR“BirthdayMyDR“Birthday”=#1983-5-18#;”=#1983-5-18#;MyDS.Tables“Student”.Rows.Add(MyDRMyDS.Tables“Student”.Rows.Add(MyDR););(5 5)从)从DataSetDataSet对象中删除行对象中删除行 MyDs.Tables“Student”.Rows4.

31、Delete();MyDs.Tables“Student”.Rows4.Delete();(6 6)修改)修改DataSetDataSet对象中的数据对象中的数据 MyDs.Tables“Student”.Rows4“Native”=“MyDs.Tables“Student”.Rows4“Native”=“江苏南京江苏南京江苏南京江苏南京”;(7 7)利用)利用DataSetDataSet对象更新数据源对象更新数据源 利用利用DataAdapterDataAdapter对象的对象的UpdateUpdate方法。方法。数据绑定数据绑定n n在Windows窗体应用程序中,几乎每个商业应用程序都需

32、要从某类数据源中读取信息,而实现这一功能的通常方式是采用数据绑定。数据绑定是指将控件的某些属性值与数据集中的数据元素连接在一起,控件的属性变化会反映到数据集中,反之也一样。数据绑定的好处是可以大大简化数据的展示,此外对绑定的统一管理可以使界面元件能同步更新,实现记录向前向后浏览时的自动同步更新。数据绑定数据绑定n n有两种类型的数据绑定:简单绑定和复杂绑定。简单数据绑定是指将一个控件和单个数据元素(如数据表的列值)进行绑定,大多数Windows窗体控件如文本框控件都具有这个能力。复杂数据绑定指将一个控件和多个数据元素进行绑定,具有该能力的有DataGrid、ListBox和ComboBox等控

33、件。数据绑定数据绑定n n对于控件的简单数据绑定,编程实现时是直接指定该对于控件的简单数据绑定,编程实现时是直接指定该控件的控件的DataBindingsDataBindings属性,它是一个集合类型,存储的属性,它是一个集合类型,存储的是是BindingBinding类对象。只要调用类对象。只要调用DataBindingsDataBindings集合的集合的AddAdd方方法即可加入新的绑定对象,如:法即可加入新的绑定对象,如:textBox1.DataBindings.Add(Text,dataSet1,textBox1.DataBindings.Add(Text,dataSet1,stu

34、ents.studentnostuents.studentno););或或Binding Binding newBingingnewBinging=new =new Binding(TextBinding(Text,dataSet1,dataSet1,stuents.studentnostuents.studentno););textBox1.DataBindings.Add(newBinding);textBox1.DataBindings.Add(newBinding);【例14-6】已知在应用程序当前目录下,有一个名为Student.mdb的数据库,该数据库中有一个名为student的表

35、,请编写一个浏览该数据表的程序,程序的设计界面如图14-22所示,程序的运行界面如图14-23所示。程序运行时单击相应按钮,将在界面上显示相应记录的内容。图14-22 程序设计界面 图14-23 程序运行界面 DataGridView控件控件 运行时将数据和DataGridView绑定,需要设置DataGridView控件的DataSource和DataMember属性。设计时也可以通过直接设置DataSource属性来完成。14.2 典型实例练能力典型实例练能力 14.2.1 14.2.1 典型实例一:学生信息综合管理典型实例一:学生信息综合管理典型实例一:学生信息综合管理典型实例一:学生信

36、息综合管理 【实例题目实例题目】已知在应用程序当前目录下,有一个名为已知在应用程序当前目录下,有一个名为Student.mdbStudent.mdb的数据库,该数据库中有一个名为的数据库,该数据库中有一个名为studentstudent的表,请编写一个对的表,请编写一个对StudentStudent表进行综合维表进行综合维护的程序。程序的设计界面如图护的程序。程序的设计界面如图14-2414-24所示,程序所示,程序的运行界面如图的运行界面如图14-2514-25所示。程序运行时单击相应所示。程序运行时单击相应的功能按钮将实现相应的功能。要求显示数据的的功能按钮将实现相应的功能。要求显示数据的

37、文本框控件不得与字段绑定,使用编程的方法来文本框控件不得与字段绑定,使用编程的方法来处理显示。处理显示。图14-24 程序设计界面 图14-25 程序运行界面 14.3 上机练习重应用上机练习重应用 14.3.1 上机练习一:按照姓名模糊查询程序上机练习一:按照姓名模糊查询程序 【练习题目】编写一个按照姓名模糊查询的程序,程序使用的数据依旧是Student.MDB数据库中的Student表。程序的设计界面如图14-26所示,程序的运行界面如图14-27所示。程序执行时,在文本框中输入姓名的前若干个字符,然后按【查询】按钮,则在DataGrid控件中显示出满足条件的记录。图14-26 程序设计界面 图14-27 程序运行界面

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁