第三次数据库报告Word格式文档下载.docx
《第三次数据库报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《第三次数据库报告Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
软件环境:
windows7、SQLSever2005,VC6.0
实验内容与完成情况:
一、实验要求的实现:
3.1数据库的连接
3.1.1通过ODBC与实验一数据库互连:
打开开始菜单,并搜索数据源:
选择添加
创建学生信息数据源:
测试数据源:
mfc程序主界面:
3.2关系模式操作:
创建一个基本表:
该表含有三列课程号TeacherID,教师名TeacherName,课程名Course
插入两行数据:
添加第一条记录:
添加第二条数据:
3.2.2修改删除基本表:
程序中使用语句
db.ExecuteSQL("
ALTERTABLETEACHERSADDS_AGEINT"
);
为新建立的表添加一列。
将表删除:
3.3数据操作:
3.3.1数据查询操作:
程序中使用语句:
strSQL.Format("
SELECT*FROMSWHERESNO='
%s'
"
m_strQuery);
对输入主键进行查询:
当查询主键在表中存在时:
当查询主键不存在时:
3.3.2数据修改:
查询修改结果:
3.3.3数据删除:
3.3.4界面执行SQL:
二、其它功能的实现:
对任意关键字进行查询:
状态栏显示当前记录:
状态栏添加过程:
在resourseview下选择stringtable,在状态栏对应部分添加两项资源IDS_PROGRESS,IDS_TTIMER
在MainFrm.cpp文件中,添加相应的静态变量:
在主界面视图函数中添加oncommand响应函数:
为了让状态栏随着显示文字的多少做相应的变化添加如下代码:
CClientDCdc(this);
CSizesz=dc.GetTextExtent(str);
intindex=0;
index=pStatus->
CommandToIndex(IDS_PROGRESS);
pStatus->
SetPaneInfo(index,IDS_PROGRESS,SBPS_NORMAL,sz.cx);
pStatus->
SetPaneText(2,str);
出现的问题:
1、时限数据查询功能时编译器提示
m_pSet->
m_SNO=temp1;
m_pSet->
m_SNAME=temp2;
m_SAGE=temp3;
m_SDEPT=temp4;
SAGE后面的=出错
2、使用pSet->
GetRecordCount()函数不是总能算出当前数据库中的总记录数。
3、实验指导书的记录显示功能代码有问题,经参考学长程序后,由上诉截图所示步骤成功实现该功能。
解决方案(列出遇到的问题和解决办法,列出没有解决的问题):
1、将数据库表S的列SAGE类型更改为CHAR类型即可解决问题。
2、在添加,修改,删除对应的函数中添加如下代码:
while(!
IsEOF())
m_pSet->
MoveNext();
m_pSet->
MoveFirst();
便可以正确显示当前记录的总数了。
需要保持记录m_pSet一直处于打开的状态