《数据结构》上机(第2次)(VC++数据库编程,两题)

《数据结构》上机(第2次)(VC++数据库编程,两题)
《数据结构》上机(第2次)(VC++数据库编程,两题)

滨江学院花旗营校区 《数据结构》之 VC++MFC编程知识第 2次上机任务①

一、实验目的

了解 VC++对数据库操作的基本方法,了解面向对象编程方法的特点。

二、实验要求

使用 Microsoft Access数据库软件建立如下数据库,然后在 VC++中打开该数据库,实现有关操作。

学号 姓名 性别 出生日期 专业 成绩

1001 王丹军 男 1985-11-12 计算机 520

1002 刘晓花 女 1986-10-8 国贸 531

1003 王志 男 1984-9-29 物流 516

1004 李小萌 女 1987-3-3 计算机 509

要求:建立好数据库后,用 VC++打开它,使用一些 SQL语句对数据库进行查询、更改、追加、删除等操作。

三、实验步骤

1、启动 Microsoft Access,创建一个数据库,方法为:

,此时系统提示给即将建立的数据库起个 运行 Microsoft Access,运行后若系统提示,则选择“空 Access数据库”

,文件名为 student,此时系统提示如何 名字(还可以选择数据库所放的路径,即文件夹),例如路径选择“E:\”

,方法:对“使用设计器创建表”进行双击即可。此时系统界面出现“字 建立数据库,请选择“使用设计器创建表”

,然后将鼠标移到“字段类型”下单击,选 段名称”和“字段类型”等信息,请在字段名称内第一行输入“学号”

择“文本” (原因:学号虽然由数字组成,但已失去计算功能,代表的应是一种意义,所以应定义成文本类型)。其 余字段对应的类型为:姓名-文本,性别-文本,出生日期-日期/时间,专业-文本,成绩-数字。各字段设置 完成后,单击“保存” ,起个表的名字例如“学生” ,然后单击“确定” ,此时系统提示“是否定义主键” ,此时选择

,对其双击,进入输入数据 忽略或否(即不想定义主键),此时回到 student 数据库界面,里面多了一个表“学生”

状态。在输入数据界面,出现了各个字段,首列出现 ID字段,该字段自动记录所输入数据的顺序,不需用户干预。

请在相应的字段栏内输入各个同学的相关数据,注意:输入日期时可以有两种方式,如 年-月-日或年/月/日。

各项数据录入完成后,可以关闭 Access,此时别忘了所建数据库的路径。

2、启动 VC++,选择“File(文件) ” →“New(新建) ” →选择“Projects(工程) ” →选择“Database Projects”

→给工程起名,如写上自己的姓名→选择数据源:此时没有建立好的数据源,所以需要用户自己新建。单击“New”

” →选择第一项“Microsoft Access Driver” →单击“Next 按钮→进入“Create New Data Source(创建新数据源)

” →给新数据源起个名字,如 stud →Save 保存→Next 下一步→Finish 完成→ (下一步) ”→单击“Browse(浏览)

” →选择“E:\”驱动器,在左侧窗口内选择已经建 进入 ODBC Microsoft Access安装状态→单击“Select(选取)

立好的数据库 student.mdb→确定→确定→回到当初“选定数据源状态” →选择已建立好的数据源 stud.dsn→确定 →进入 VC++数据库操作界面→在左侧白色显示区下方,选中“DataView(数据查看) ” →单击工程名字左边的 “+” →出现“E:\student(Access) ” →单击左边的“+” →出现“Table” →单击左边的“+” →出现数据

” →右侧显示表中的具体数据,上面出现一浮 库中所建表的名字“学生” →右击“学生” →选择“open(打开)

动工具栏:

单击上面的“SQL”工具,在右上方显示 SQL语句输入区,并有一默认语句 SELECT `学生`.*FROM `学生`,将该 语句删除,进入下面的操作,并查看下方给出的结果,看是否正确。

3、SQL标准语言

(1)查询成绩处于 510与 530的学生,使用如下格式语句:

SELECT * FROM 学生 where 成绩 between 510 and 530

输入完语句后,请单击浮动工具栏中的“! ”运行,结果显示在下方。

(2)查询姓王的同学,并且只显示:学号、姓名、出生日期三项信息

具体步骤:将原查询语句删除,输入如下语句:

SELECT 学号,姓名,出生日期 FROM 学生 where 姓名 like ‘王%’ 注意:除了汉字需要在中文状态下输入外,其他字符一律要在英文状态下输入。 (3)更改信息:将计算机专业的学生的成绩加 10分

语句格式:UPDATE 学生 SET 成绩 = 成绩 + 10 WHERE 专业 = '计算机'

再使用“SELECT * FROM 学生”查询一下结果。

(4)删除信息:删除所有的女生。

语句格式:DELETE * FROM 学生 WHERE 性别 = '女'

再使用“SELECT * FROM 学生”查询一下结果。

★ 每次进行新的操作时,务必将原来的语句删除,否则语句执行会出现混乱情况。

下页还有

滨江学院花旗营校区 《数据结构》之 VC++MFC编程知识第 2次上机任务②

一、实验目的

了解 VC++对数据库操作的基本方法,了解面向对象编程方法的特点。

二、实验要求

使用 Microsoft Access数据库软件建立如下数据库, 建立数据原,然后在 VC++中打开该数据库,实现有关操作。

学号 课程号 成绩 学分

01106101 2112105 80 3

01106102 2112349 85 2

01106103 2123366 70 3

01106104 3136587 79 4

要求:建立好数据库后,用 VC++编辑如下界面,完成一些相关的功能。

单击界面上方的?,可使记录向后显示,单击?,向前显示。

三、实验步骤

2、启动 Microsoft Access,创建一个数据库,方法略(数据库名字自己建立,里面还要建立一个表名字)。

3、创建 ODBC数据源

具体方法为:打开 WINDOWS中的控制面板→管理工具→打开“数据源(ODBC) ” →选择“用户 DSN”页面(默 认) →单击“添加”按钮→选择“Microsoft Access Driver(*.mdb)” →单击“完成” →输入一个数据源名字(自 己随意命名)→单击“选取(S) ” →在指定的路径、文件夹下选择自己刚刚建好的数据库→单击“确定(OK) ” , 刚才建好的用户数据源被添加在“ODBC 数据源管理器”的“用户数据源”列表中。

3、启动 VC++, 选择“Project工程”页面→选择“MFC AppWizard(EXE) ” →输入一个工程名字,自己随意命

” →Next(下一步)→选 名→单击“确定” →进入“MFC AppWizard step 1” →选择“S(单个文档应用程序)

” →单击“Data Source”按钮→弹出 Database Options 对话框, 择第四个单选项“W(数据库查看使用文件支持)

从中选择自己前面刚刚建立好的 ODBC数据源 (名字自己清楚) →保留其他默认选项, 单击 “OK” 按钮→弹出 Select Database Table对话框,从中选择自己前面在数据库中建立的表文件的名字→单击“OK”按钮→单击“Finish(完

”按钮→回到类向导的第二步对话框。

成)

4、设计浏览记录界面

第 3步操作完成,系统进入界面设计状态,请对照上图,设计有关界面。注意:字体的改变通过右击界面空白处(不 可对准任何控件,只能在界面的空白处进行),在弹出菜单中选择最后一项“Properties 属性” →左下角进行修改(字 体,Font 按钮)

5、设置界面上四个编辑框的 ID,方法:对准每个编辑框(Edit),右击选择“Properties 属性” ,在 ID 右侧窗口内直 接改即可,具体改变如下:

“学号”后的编辑框→IDC_STUNO

“课程号”后的编辑框→IDC_COURSENO

“成绩”后的编辑框→IDC_SCORE

“学分”后的编辑框→IDC_CREDIT

按 CTRL+W组合键, 进入 MFC ClassWizard, 进入 “Member Variables” 页面, 选中相关的 ID, 单击 “Add Variable…”

;其他 按钮,在 Member Variable name下的窗口的下拉列表中选择对应的列,如学号应选择“m_pSet->m_column1”

几个编辑框的选择依此类推,注意看准哪个编辑框存放数据库中哪一列!

6、编译,运行,查看结果。

四、自己独立完成

增加查询功能,界面如下,看自己能否完成。

“查询”按钮的代码为: m_pSet->m_strSort=“课程号”

{ UpdateData(); m_pSet->Open( );

m_strQuery.TrimLeft( ); if(!m_pSet->IsEOF())

if(m_strQuery.IsEmpty( )) UpdateData(FALSE);

{ MessageBox(“要查询的学号不可为空! ”); else

return;} MessageBox(“没有你要找的学号记录! ”);

if(m_pSet->IsOpen( )) }

m_pSet->Close( );

m_pSet->m_strFilter.Format(“学号=’%s’ ”,m_strQuery);

相关主题
相关文档
最新文档