资源预览内容
第1页 / 共82页
第2页 / 共82页
第3页 / 共82页
第4页 / 共82页
第5页 / 共82页
第6页 / 共82页
第7页 / 共82页
第8页 / 共82页
第9页 / 共82页
第10页 / 共82页
亲,该文档总共82页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第9章 数据库编程数据库和ODBC操作目 录01数据库基本概念1数据库和表2数据库和表数据库基本概念数据库基本概念1数据库和表数据库是指以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。例如,把一个学校的教师、学生和课程等数据有序地组织起来,存储在计算机磁盘上,就构成了一个数据库。数据库是一个容器,包括表、视图、存储过程、触发器等。2数据库和表数据库管理系统(DBMS)是管理数据库的系统,它按一定的数据模型组织数据。数据库管理系统采用的数据模型主要有:关系模型、层次模型和网状模型。现在主要使用的是关系模型。所谓关系模型,简单地说,就是用二维表格数据来表示实体及实体之间联系的模型,一个表就是一个关系。例如,在学生成绩管理系统中,经分析可得该系统涉及的主要数据对象有:学生、课程和成绩。“学生”涉及的主要信息有:学号、姓名、性别、专业、出生年月;“课程”涉及的主要信息有:课程号、课程名、所属专业、类别、开课学期、学时和学分。“成绩”涉及的主要信息有:学号、课程号、成绩和学分。若以二维表格(关系表)的形式来组织数据库中的数据,可有表9.1、表9.2和表9.3这样的描述。数据库基本概念数据库基本概念姓名(studentname)学号(sudentno)性别(xb)出生年月(birthday)专业(special)李明21010101true198511电气工程及其自动化王玲21010102false198511电气工程及其自动化张芳21010501false198511机械工程及其自动化陈涛21010502true198511机械工程及其自动化课程号(courseno)所属专业(special)课程名(coursename)类型(coursetype)开课学期(openterm)课时数(hours)学分(credit)2112105机械工程及其自动化C语言程序设计专修34832112348机械工程及其自动化AutoCAD选修6512.52121331电气工程及其自动化计算机图形学方向57232121344电气工程及其自动化VisualC+程序设计通修4603学号(studentno)课程号(course)成绩(score)学分(credit)210101012112105803210101022112348852.5210105012121344703210105022121331783表9.1 学生基本信息表表9.2 课程信息表表9.3 学生课程成绩表目 录02常用SQL语句1SELECT语句:查询数据2INSERT语句:插入记录3UPDATE语句:修改记录4DELETE语句:删除记录常用常用SQLSQL语句语句1SELECT语句:查询数据格式:SELECT 字段名 FROM 表名 WHERE子句 ORDER BY子句最简单形式:SELECT * FROM tableName其中,星号(*)用来指定从数据库的tableName表中选择所有的字段(列)。若要从表中选择指定字段的记录,则将星号(*)用字段列表来代替,多个字段之间用逗号分隔。常用常用SQLSQL语句语句需要说明的是:(1)可选项WHERE子句是用来设定查询的条件。WHERE子句中的条件可以有(大于)、=(大于等于)、=(等于)、(不等于)和LIKE等运算符。其中,LIKE用于匹配条件的查询,它可以使用“%”和“_(下画线)”等通配符,“%”表示可以出现0个或多个字符,“_”表示该位置只能出现1个字符。例如:SELECT * FROM Score WHERE studentno LIKE 21%则将Score表中所有学号中以21开头的记录查询出来。注意,LIKE后面的字符串是以单引号来标识的。再如:SELECT * FROM Score WHERE studentno LIKE 210105_则将Score表中所有学号中以210105开头的,且学号为8位的记录查询出来。WHERE子句中的条件还可用AND(与)、OR(或)及NOT(非)运算符来构造复合条件查询,例如:若查询Score表中成绩(score)在70分到80分之间的记录,则可有下列语句:SELECT * FROM Score WHERE score=70(2)可选项ORDER BY子句用来对查询到的记录进行排序。如下面的形式:SELECT column1, column2, FROM tableName WHERE conditionORDER BY col1, co2, ASC | DESC其中,ASC表示升序(从低到高),DESC表示降序(从高到低),col1、col2分别用来指定按什么字段来排序。当指定多个字段时,则先按col1排序,当有相同col1的记录时,则相同的记录按col2排序,以此类推。常用常用SQLSQL语句语句2INSERT语句:插入记录格式:INSERT INTO tableName(col1,col2,col3,colN) VALUES (val1,val2,val3,valN)其中,tableName用来指定插入新记录的数据表,tableName后跟一对圆括号,包含一个以逗号分隔的列(字段)名的列表,VALUES后面的圆括号内是一个以逗号分隔的值列表,它与tableName后面的列名列表是一一对应的。需要说明的是,若某个记录的某个字段值是字符串,则需要用单引号来括起来。例如:INSERT INTO Student(studentno,studentname) VALUES (21010503, 张小峰)将在Student中插入一个新行,其中studentno(学号)为“21010503”,studentname(学生姓名)为“张小峰”,对于该记录的其他字段值,由于没有指定相应的值,其结果由系统决定。3UPDATE语句:修改记录格式:UPDATE tableName SET column1=value1, column2=value2,columnN=valueN WHERE condition 该语句可以更新tableName指定的表中符合condition条件的记录。关键字SET后面是以逗号分隔的“列名/值”列表。例如:UPDATE Student SET studentname = 王鹏 WHERE studentno = 21010503将学号为“21010503”的记录中的studentname字段内容更新为“王鹏”。常用常用SQLSQL语句语句4DELETE语句:删除记录格式:DELETE FROM tableName WHERE condition该语句可以删除tableName指定的表中符合condition条件的记录。目 录03Visual C+操作数据库接口1ODBC、DAO和OLE DB2ADO技术Visual C+Visual C+操作数据库接口操作数据库接口1ODBC、DAO和OLE DBVisual C+为用户提供了ODBC(Open Database Connectivity,开放数据库连接)、DAO(Data Access Objects,数据访问对象)及OLE DB(OLE Data Base,OLE数据库)三种数据库方式,使用户的应用程序从特定的数据管理系统脱离出来。ODBC提供了应用程序接口(API),使得任何一个数据库都可以通过ODBC驱动器与指定的DBMS相联。用户的程序可通过调用ODBC驱动管理器中相应的驱动程序达到管理数据库的目的。DAO使用Jet数据库引擎形成一系列的数据访问对象:数据库对象、表和查询对象、记录集对象等。它可以打开一个Access数据库文件(MDB文件),也可直接打开一个ODBC数据源,以及使用Jet引擎打开一个ISAM(被索引的顺序访问方法)类型的数据源(dBASE、FoxPro、Paradox、Excel或文本文件)。OLE DB试图提供一种统一的数据访问接口,它提供一个数据库编程COM(组件对象模型)接口,使得数据的使用者(应用程序)可以使用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类型。Visual C+Visual C+操作数据库接口操作数据库接口2ADO技术ADO 是目前在Windows环境中比较流行的客户端数据库编程技术。它是Microsoft为最新和最强大的数据访问范例OLE DB而设计的,是一个便于使用的应用程序层接口。ADO使用户应用程序能够通过“OLE DB提供者”访问和操作数据库服务器中的数据。由于它兼具有强大的数据处理功能(处理各种不同类型的数据源、分布式的数据处理等)和极其简单、易用的编程接口,因而得到了广泛的应用。ADO技术基于COM(Component Object Model,组件对象模型),具有COM组件的许多优点,可以用来构造可复用应用框架,被多种语言支持,能够访问关系数据库、非关系数据库及所有的文件系统。另外,ADO还支持各种B/S与基于Web的应用程序,具有远程数据服务RDS(Remote Data Service)的特性,是远程数据存取的发展方向。第9章 数据库编程MFC ODBC一般操作目 录01MFC ODBC向导过程1构造数据库2创建ODBC数据源3在MFC AppWizard中选择数据源4设计浏览记录界面MFC ODBCMFC ODBC向导过程向导过程1构造数据库数据库表与表之间的关系构成了一个数据库。作为示例,这里用Microsoft Access 创建一个数据库Student.mdb,其中暂包含一个数据表score,用来描述学生课程成绩,如表9.4所示。在表中包括上、下两部分,上部分是数据表的记录内容,下部分是数据表的结构内容。学号(studentno)课程号(course)成绩(score)学分(credit)210101012112105803210101022112348852.5210105012121344703210105022121331783序号字段名称数据类型字段大小小数位字段含义1studentno文本8学号2course文本7课程号3score数字单精度1成绩4credit数字单精度1学分MFC ODBCMFC ODBC向导过程向导过程2创建ODBC数据源Windows中的ODBC组件是出现在系统的“控制面板”“管理工具”“数据源(ODBC)”,如图9.1所示。双击“数据源(ODBC)”,进入ODBC数据源管理器。在这里,用户可以设置ODBC数据源的一些信息。其中,“用户DSN”页面是用来定义用户自己在本地计算机使用的数据源名(DSN),如图9.2所示。那么,创建一用户DSN的过程如下:MFC ODBCMFC ODBC向导过程向导过程 单击 按钮,弹出有一驱动程序列表的“创建新数据源”对话框,在该对话框中选择要添加用户数据源的驱动程序,这里选择“Microsoft Access Driver”,如图9.3所示。MFC ODBCMFC ODBC向导过程向导过程 单击 按钮,进入指定驱动程序的安装对话框,单击 按钮将前面创建的数据库调入,然后在数据源名输入“Database Example For VC+”,结果如图9.4所示。 单击 按钮,刚才创建的用户数据源被添加在“ODBC数据源管理器”的“用户数据源”列表中。MFC ODBCMFC ODBC向导过程向导过程3在MFC AppWizard中选择数据源用MFC AppWizard可以容易地创建一个支持数据库的文档应用程序,如下面的过程。 用MFC AppWizard(exe)创建一个单文档应用程序Ex_ODBC。在向导的第2步对话框中加入数据库的支持,如图9.5所示。在该对话框中用户可以选择对数据库支持程序,其中各选项的含义如表9.5所示。选项创建的视图类创建的文档类否(None)从CView派生支持文档的常用操作,并在“文件”菜单中有“新建”、“打开”、“保存”、“另存为”等命令标题文件(Headerfilesonly)从CView派生除了在StdAfx.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号