VC++上机实验.docx
- 文档编号:29658806
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:17
- 大小:904.90KB
VC++上机实验.docx
《VC++上机实验.docx》由会员分享,可在线阅读,更多相关《VC++上机实验.docx(17页珍藏版)》请在冰豆网上搜索。
VC++上机实验
实验前提:
ACCESS2003以及VC++软件必须先安装好!
1、首先在桌面新建一个文本文档,将后缀名改为.dul如图所示:
2、利用ACCESS2003在桌面新建一个数据库(依题目而定),下面新建一个学生数据库student.mdb,步骤如下:
(1)打开ACCESS2003,左键点击“文件”,在下拉列表中点击“新建”出现如下图所示:
(2)点击上图右端“空数据库…..”图标,将出现如下所示对话框:
(3)将新建的数据库保存在桌面位置,将文件名改为student.mdb如上图,点击“创建”,将出现如图所示:
(40左键双击
图标将会打开表,在字段名分别输入studentid和studentname,数据类型(视所给题目具体对待)此处分别选为数字和文本如下,并将studentid设为主键,方法是:
将鼠标停在studentid处,点击右键,按“主键”即可,如下图:
然后点击上图右端
,将会出现“是否保存新建表”,点击是,将表名改为student即可,便会出现如下图所示:
(5)关闭数据库,在桌面上就建立了一个student数据库,如图:
3、打开VC++软件,在file下拉列表中,利用MFCAppWizard[exe]建立一个Simple工程(位置选在桌面上),将出现如图所示,将所需数据按下图填好,点击OK即可,
继而出现下图,点
点击
将出现下图,把
的钩点掉如下
点击
,在接下来出现的对话框均点ok即可出现
在simple对话框中拉入两个文本框,四个按钮和一个控制列表,并将两个文本框属性设置为IDC_ID,IDC_NAME,四个按钮分别为IDC_ADD,add,IDC_CONN,conn,IDC_DEL,del,IDC_UPDATE,update,另外列表控件的属性里STYLE栏要改为report如下图:
设置关联变量:
方法如下所示:
4文件引入:
将
中的
StdAfx.h打开,并将下面一句话放入StdAfx.h里,如图
#import"C:
\\ProgramFiles\\CommonFiles\\System\\ado\\msado15.dll"no_namespacerename("EOF","adoEOF")
保存。
5在应用程序类
的初始化代码
中的BOOLCSimpleApp:
:
InitInstance()中写入以下语句:
:
:
CoInitialize(NULL);如图:
点击全部保存,运行
。
6、设置智能指针初始化
在
中做以下定义:
如图所示
private:
_ConnectionPtrm_pc;
_RecordsetPtrm_pr;
voidrefresh();
点击全部保存,运行
。
在
文件中的CSimpleDlg:
:
CSimpleDlg(CWnd*pParent/*=NULL*/)
:
CDialog(CSimpleDlg:
:
IDD,pParent)下面添加如下两行代码:
m_pc.CreateInstance("adodb.connection");
m_pr.CreateInstance("adodb.recordset");
如图所示:
同样在上面的界面中的BOOLCSimpleDlg:
:
OnInitDialog()函数下面添加以下代码:
m_list1.InsertColumn(0,"学号",LVCFMT_LEFT,50,-1);
m_list1.InsertColumn(1,"姓名",LVCFMT_LEFT,50,-1);
如图所示:
点击全部保存,运行
。
7、点击列表控件,
将出现如下界面:
添加以下代码:
inti=m_list1.GetNextItem(-1,LVNI_SELECTED);
m_studentid=m_list1.GetItemText(i,0);
m_studentname=m_list1.GetItemText(i,1);
UpdateData(0);
如上图,点击全部保存,运行
。
8、refresh函数:
同样在上面界面中输入以下代码:
voidCSimpleDlg:
:
refresh()
{
m_list1.DeleteAllItems();
CStringsql;
sql="select*fromstudent";
m_pr->Open((_bstr_t)sql,(IDispatch*)m_pc,adOpenDynamic,adLockOptimistic,adCmdText);
while(!
m_pr->adoEOF)
{
CStringstudentid,studentname;
studentid.Format("%d",m_pr->GetCollect("studentid").iVal);
studentname=(char*)(_bstr_t)m_pr->GetCollect("studentname");
inti=m_list1.GetItemCount();
m_list1.InsertItem(i,studentid);
m_list1.SetItem(i,1,1,studentname,0,0,0,0);
m_pr->MoveNext();
}
m_pr->Close();
}
如图所示:
8、连接:
在对话框界面双击连接按钮
添加如下代码:
voidCSimpleDlg:
:
OnConn()
{
//TODO:
Addyourcontrolnotificationhandlercodeher
CStringsql;
sql="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=student.mdb;PersistSecurityInfo=False";
m_pc->Open((_bstr_t)sql,"","",adConnectUnspecified);
refresh();
}
如图所示:
点击全部保存,运行
。
即可连接到之前所建的数据库。
如下图所示:
点击conn即可将数据库中的数据连接进来
9、添加:
具体方法同上:
双击对话框中的add按钮,添加以下代码
voidCSimpleDlg:
:
OnAdd()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData
(1);
CStringsql;
sql.Format("insertintostudentvalues(%s,'%s')",m_studentid,m_studentname);
m_pc->Execute((_bstr_t)sql,NULL,adCmdText);
refresh();
}
如图所示:
10、删除:
具体方法同上:
双击对话框中的del按钮,添加以下代码
voidCSimpleDlg:
:
OnDel()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData
(1);
CStringsql;
sql.Format("delete*fromstudentwherestudentid=%s",m_studentid);
m_pc->Execute((_bstr_t)sql,NULL,adCmdText);
refresh();
}
如图所示:
11更新:
具体方法同上:
双击对话框中的update按钮,添加以下代码
voidCSimpleDlg:
:
OnUpdate()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData
(1);
CStringsql;
sql.Format("updatestudentsetstudentname='%s'wherestudentid=%s",m_studentname,m_studentid);
m_pc->Execute((_bstr_t)sql,NULL,adCmdText);
refresh();
}
如图所示:
点击全部保存,运行
。
将对话框点出来,即可进行验证:
如下图所示:
我把我建的项目文件夹附在里面,具体的代码可以从对应的文件里找到。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 上机 实验