计算机软件专业技术基础实验报告1Word格式文档下载.docx
《计算机软件专业技术基础实验报告1Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机软件专业技术基础实验报告1Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
类型
是否为主键
允许空
备注
sno
char(8)
是
学号
sname
varchar(10)
否
√
姓名
age
int
年龄
dept
char(4)
所在系号
comment
varchar(8)
评语
s表的创建方法在此不详述。
(2)创建ODBC数据源
“开始”--〉“设置”--〉“控制面板”—〉“管理工具”—〉“数据源(ODBC)”,打开之后出现如图1所示窗口。
图1
点击“添加”按钮,出现图2。
图2
选择SQLServer,点击“完成”,出现图3。
图3
名称中填写所创建的数据源的名称,本例中为student,描述可以不填。
因为SQLServer的服务器和客户端均安装在本地计算机上,所以服务器为(local)。
如果本地计算机上只安装了客户端,服务器安装在另外的机器上,服务器为另一台机器的名称。
点击“下一步”,出现图4。
图4
SQLServer如何验证ID的真伪,使用哪种方法要看安装SQLServer2000时选择的是哪种验证方式。
如果是Windows验证,选择使用网络登录ID的WindowsNT验证;
如果是混合验证模式则要选择下面一种。
本例中采用Windows验证。
进入数据库无需另外的用户名和密码。
点击“下一步”,出现图5。
图5
这里要更改默认的数据库,默认情况下数据源所连接的数据库为master,这里要改为student数据库。
点击“下一步”,出现图6。
图6
这里无需修改,点击“完成”出现图7。
图7
点击“测试数据源”,如果测试成功说明数据源已成功创建。
(3)创建VC应用程序。
打开VC++6.0,新建工程,如图8所示。
选择MFCAppWizard(exe),工程名为exec1,存放在D盘实验文件夹里。
图8
点击“确定”,在出现的窗口中选择“单文档”,点击“下一步”,出现图9。
图9
这里选择“查看数据库不使用文件支持”,还要选择数据源,点击“数据源…”,弹出如图10所示窗口。
图10
选择“student”数据源,点击“OK”,在弹出的窗口中选择表dbo.s,点击“OK”返回图9所示的界面。
以后的创建步骤中没有需要修改的地方可以直接点击完成。
这样工程exec1就创建完成了,并且通过数据源与数据库发生了关联。
创建好的工程可以运行,结果如图11所示。
图11
(4)界面设计
在工作区左边的树型结构中,选择ResourceView,展开Dialog节点,双击IDD_EXEC1_FORM,打开该对话框。
在这里添加所需控件。
如图12所示。
图12
此时运行程序,结果如图13所示。
图13
从界面可以看出程序要完成的功能。
完整的程序运行后,界面默认显示表中的第一条数据,点击工具栏中的“下一记录”可以显示下一条记录;
点击“删除”按钮可将当前显示的数据从库中删除;
点击“清除”按钮,将所有编辑框清空;
在界面输入学生信息,点击“添加”按钮可将此学生信息输入至数据库;
点击“修改”按钮可修改当前显示的学生信息。
为界面上的编辑框和按钮添加变量和函数。
在界面右键单击,选择“建立类向导”,弹出如图14所示窗口。
图14
本例中需要为编辑框IDC_AGE,IDC_COMMENT,IDC_DEPARTMENT,IDC_NAME,IDC_SNO添加变量。
以IDC_AGE为例,点击“ADDVariable”弹出如图15所示窗口。
图15
在下拉框中选择m_pSet->
m_age为变量名,这里的变量是与数据库表s中的字段相对应的,变量类型也与s中的字段类型对应。
其它变量的添加方法相同。
为按钮添加函数比较简单,双击按钮即可。
添加的函数在exec1View.cpp文件中。
四、实验程序与程序运行结果
“清除”按钮所添加的函数为OnClear(),具体代码如下:
//名称:
OnClear
//功能:
清除编辑框中的内容
voidCExec1View:
:
OnClear()
{
CWnd*c1;
c1=CWnd:
GetDlgItem(IDC_SNO);
//获得编辑框
c1->
SetWindowText("
"
);
//将编辑框置空
GetDlgItem(IDC_NAME);
GetDlgItem(IDC_DEPARTMENT);
GetDlgItem(IDC_AGE);
GetDlgItem(IDC_COMMENT);
}
“添加”按钮所添加的函数为OnAdd(),具体代码如下:
OnAdd
插入一条记录
OnAdd()
//TODO:
Addyourcontrolnotificationhandlercodehere
//判断年龄是否合适
CStringstrAge;
GetDlgItem(IDC_AGE)->
GetWindowText(strAge);
intnAge=atoi(strAge.GetBuffer(0));
if(nAge<
0||nAge>
120)
{
AfxMessageBox("
输入的年龄不符合实际!
return;
}
//呈增加状态
m_pSet->
AddNew();
UpdateData();
//更新数据库
Update();
//重新获得数据
Requery();
UpdateData(FALSE);
“删除”按钮所添加的函数为OnDelete(),具体代码如下:
OnDelete
删除当前记录
OnDelete()
//TODO:
//发出删除命令
Delete();
//重新获得记录集
“修改”按钮所添加的函数为OnEdit(),具体代码如下:
OnEdit
修改当前记录
OnEdit()
//呈编辑状态
Edit();
运行结果
五、实验心得与体会
通过本次上机实验,我掌握了VC++环境下连接SQLServer数据库的基本原理,掌握VC++环境下通过ODBC连接SQLServer数据库方法,对于如何通过VC++6.0来对数据库进行相应的操作,很值得学习,很感兴趣。