您好,欢迎访问三七文档
第1页第9章数据库技术9.1关系数据库9.2使用可视化数据库管理器9.3数据库访问技术9.4使用DAO的Data控件访问数据库9.5使用ADO数据控件访问数据库9.6结构化查询语言SQL9.7报表制作第2页9.1关系数据库VisualBasic除了具有强大的图形和文件管理功能外,更突出的特点是它管理和访问数据库的能力。而程序员编程时往往需要处理大量的数据,这就要通过数据库编程来实现。关系数据库是以关系模型为基础的数据库,主要特点是可以使用表的方式组织数据,它通过若干个表(Tabel)存储数据,并利用关系(Relation)将这些表联系在一起。表、记录和字段是关系数据库的基本要素。(1)表:关系数据库可以包含一个或多个表,而每个表又可分为行与列,这里的行就是我们通常所说的记录,列就是字段或数据项。例如:第3页(2)记录:就是一组用于存储数据的相关字段的有序集。其中数据库中不允许有完全相同的记录。(3)字段:数据库中每一列称为一个字段。(4)关键字:关键字是表中为快速检索所使用的字段。(5)索引:索引是根据数据库表中记录的关键字值对表中的记录进行分类。第4页可视化数据管理器是VisualBasic为管理数据库而设置的专门的可视化工具,使用它可方便快捷地完成创建数据库、建立数据表和数据库查询等工作。用户在VB开发环境中单击“外接程序”菜单中的“可视化数据管理器”选项启动可视化数据管理器。9.2使用可视化数据库管理器可视化数据管理器主窗口第5页可视化数据管理器及其子窗口保存数据库文件对话框“表结构”对话框第6页“添加字段”对话框新建的“message”表“添加记录”窗口第7页9.3数据库访问技术VB提供了三种可用的数据访问接口,它们是:数据访问对象DAO(DataAccessObjects)、远程数据对象RDO(RemoteDataObjects)和ActiveX数据对象ADO(ActiveXDataObjects)。分别代表了数据访问技术的不同发展阶段。1、DAO(数据访问对象)技术2、RDO(远程数据对象)技术3、ADO(ActiveXDataObjects)技术第8页9.4使用DAO的Data控件访问数据库使用Data控件可完全不用编写代码,只需通过简单设置和合并数据绑定控件,就能对现有数据库进行访问9.4.1Data控件的常用属性(1)DatabaseName属性设置和返回Data控件中数据源的名称和位置。如果改变了DatabaseName属性,则须用Refresh方法来打开新的数据库。(2)RecrodSource属性设置和返回与Data控件相关联的基本表或SQL语句。用于指定通过窗体上的被绑定的控件访问的记录的来源。改变该属性后,须用Refresh方法。(3)Connect属性用于返回和设置连接的数据库类型名称,可访问7中数据库类型。缺省为Access数据库类型第9页(4)RecordSetType属性0-Table:表示所挂数据集为实表。该情况下可对记录集进行添加记录、删除记录、修改记录或记录查询。1-Dynaset:表示所挂数据集为动态集类型。数据集来自一个实表的数据或多个实表数据的组合。不能更新数据。2-Snapshot:表示所挂数据集为快照类型。与动态集类型相似,只能读取数据,不能更改数据。(5)Exclusive属性(6)ReadOnly属性(8)EOFAction属性(9)BOFAction属性第10页(1)RecordCount属性(2)Nomatch属性(3)Bookmark属性(4)LastModified属性9.4.2Data控件的Recordset对象的常用属性(1)Refresh方法:(刷新记录集)用来关闭并重新建立数据库中的记录集。(2)UpdateControls方法:把连接控件的内容恢复为原始值,等效于用户更改了数据之后取消更改操作。(3)UpdateRecord方法:将修改或添加了的记录内容写入到数据库中,用于保持被连接控件的当前值。9.4.3Data控件的常用方法第11页9.4.4对数据库记录操作的常用方法Data控件可以用来浏览数据库,但是要想对数据库中的记录进行添加、删除和修改等更复杂的操作时,就无法用Data控件所提供的方法,VB提供下列方法对数据库记录进行更高级的操作。(1)AddNew方法(2)Move方法(3)Delete方法(4)Find方法(5)Seek方法(6)Close方法(1)Error事件:在用户读取数据库发生错误时被触(2)Reposition事件:当用户激活了一个新记录时被触发。(3)Validate事件:当激活另一个记录时引发该事件。10.4.5Data控件的常用事件第12页9.4.6数据绑定控件当一个空间被绑定到Data控件时,VB会把从当前数据库记录取出的字段值应用于该控件,然后控件动态显示数据。如果在绑定控件里改变数据,当移动到另一个记录时,这些改变会自动写入到数据库中。第13页可与Data控件一起使用的标准绑定控件有:复选框、图像、标签、图片框、文本框、列表框、组合框和OLE容器控件。可与Data控件绑定的控件包括DBListBox、DBComboBox、MSFlexGrid和DBGrid等。表:数据绑定控件与连接有关的属性第14页[例9-1]第15页9.5使用ADO数据控件访问数据库9.5.1添加ADO数据控件ADO数据控件VisualBasic6.0新增的数据访问控件,外观上类似于数据控件Data,但在功能上要比数据控件Data强的多,而且操作也更加灵活,也大有将DAO和RDO数据访问技术取而代之的趋势。由于ADO数据控件是一个ActiveX控件,在使用之前应先将该控件添加到工具箱中。在“部件”对话框中选择“MicrosoftADODataControl6.0(OLEEB)”,单击“确定”按钮,即可将ADO控件添加到工具箱中9.5.2ADO数据控件的主要属性(1)ConnectionString属性字符串变量,用来设置ADO控件和数据库连接的连接字符串,通过这个连接可以建立与数据源的连接信息,实现ADO控件与相应的数据库进行连接。参数有4个,如表所示:第16页这些参数的设置比较复杂,通常用可视化的方法通过ADO属性页来设置:第17页(2)Recordsource属性设置与ADO连接的数据库中的记录集。在ADO属性页对话框中,可通过“记录源”选项卡选择:0-adCmUnknown:未知,(默认)1-adCmdText:文本命令类型2-adCmdTable:数据表3-adCmdstoredProc:存储过程(3)BOFAction属性和EOFAction属性9.5.2ADO数据控件的主要属性第18页(4)Mode属性:设定对数据操作的权限:(5)RecordSet属性用来设置或返回ADO的记录集对象。可以使用记录集对象的属性、方法和事件切换、删除或者修改数据。(6)RcordCount属性该属性返回记录集中的记录数,该属性为只读属性。第19页(1)AddNew方法用来在ADO控件的记录集中添加一条新记录。添加记录之后,可以给记录的各个字段赋值,并调用UpdateBatch方法保存修改,或用CancelUpdate方法取消保存。(2)Refresh方法在数据控件的数据源运行被改变时,通过该属性进行刷新。(3)Move方法用来移动记录指针,其格式和功能参数可参照前述对数据库记录操作的常用方法。(4)Find方法在记录集中查找满足条件的记录,若找到则记录指针指向该记录,否则指针指向数据集的末尾。(5)UpdateBatch方法将所有新添加的记集或修改以后的内容写入保存。(6)Delete方法9.5.3ADO数据控件的方法第20页[例9-2]用ADO数据控件建数据管理应用程序(1)首先设置ADO控件的数据源,如下:在窗体上用鼠标右击ADO数据控件,在弹出的快捷菜单中选择“ADODC属性”命令,弹出ADO数据控件的“属性页”对话框。单击“生成”按钮,即弹出“数据链接属性”对话框,在“OLEDB提供者”栏中选择“MicrosoftJet4.0OLEDBProvider”,连接到Access2000数据库。单击“下一步”按钮,打开“连接”选项卡,在其中输入Access数据库文件名或路径,此处我们单击右边的“…”按钮,选中磁盘中的数据库文件,再单击“打开”按钮,回到“数据库连接属性”对话框。如果数据库需要用户名或密码等信息,可在相应文本框中输入。击“测试连接”按钮,如创建的数据连接正确,则弹出“测试成功”消息框。击“数据连接属性”对话框中的“确定”按钮,返回“属性页”,然后击“确定“按钮退出”属性页“对话框。……通过上述操作,已经将ADO数据控件同Access数据库中的数据表连接了起来。(2)为各事件过程编写程序代码。10.5.4使用ADO数据控件第21页9.5.5ActiveX数据绑定控件1.DataGrid控件可同时显示整个数据表格,实现数据的二维显示和操作。将DataGrid控件添加到工具箱中,需选择“MicrosoftDataGridControl6.0(OLEDB)”部件。[例9-3]使用DataGrid控件在界面上显示数据库Student.mdb的message表中所有数据项。第22页DataGrid显示数据很方便,几乎不用编写任何代码就可以实现数据库记录的完全显示。可在DataGrid中增加记录、修改记录和删除记录,可过滤在控件中显示的数据表字段。第23页2.DataList和DataCombo控件选择“MicrosoftDataListControls6.0”部件,将两控件加到工具箱中。一个是下拉组合框,一个是列表框,使用方法和属性都相同,不同的是显示形式。属性如表:第24页[例9-4]修改[例9-2],用DataList控件显示籍贯,DataCombo控件显示姓名。第25页9.6.1SQL简介SQL(StructureQueryLanguage)是一种数据库编程语言。现在SQL已经发展成为关系数据库广泛是使用的新标准。9.6.2SQL部件(构成)SQL语言由命令、子句、运算符和合计函数构成。这些部件结合起来组成语句,用来创建、更新和操作数据库。9.6结构化查询语言SQL1.SQL命令数据定义语言(DDL)命令:用于创建和定义新的数据库、字段和索引。DDL命令如下表所示:命令描述CREATE该命令用来创建新的表、字段和索引DROP该命令用来删除数据库中的表和索引ALTER该命令通过添加字段或改变字段定义来修改表第26页数据操作语言(DML)命令:用于创建查询,从数据库中排序、筛选和抽取数据。DML语句如下表所示:命令描述SELECT该命令用来在数据库中查找满足特定条件的记录INSERT该命令用来在数据库中用单一的操作加载一批数据UPDATE该命令用来改变特定记录和字段的值DELETE该命令用来从数据库表中删除记录2.SQL子句SQL子句是用来修改条件的,这些条件被用来定义要选定或操作的数据。主要子句如下表所示。子句描述FROM该命令用来指定一个或多个数据表WHERE该命令用来指定所选记录必须满足的条件GROUPBY该命令用来把选定的记录分成特定的组HAVING该命令用来说明每个组需要满足的条件ORDERBY用来按指定的次序将记录排序第27页3.SQL运算符1)逻辑运算符:用来连接两个表达式,通常位于WHERE子句中。常用逻辑运算符:AND、OR和NOT。2)比较运算符:用来比较两个表达式的值,从而决定进行什么操作。,=,,=,=,BETWEEN:用来指定值的范围LIKE:在模式匹配中使用IN:用来指定数据库中的记录第28页4.常用集函数SELECT子句中常常使用集函数对记录组进行操作,它返回应用于一组记录的单一值。常用的集函数如下表所示。子句描述AVG用来获得特定字段的值的平均数COUNT用来返回选定记录的个数SUM用来返回特定字段中所有值的总和MAX返
本文标题:第9章数据库技术
链接地址:https://www.777doc.com/doc-2113467 .html