vc++对话框中插入数据库
好,那么请各位读者跟我一起,打开手头上的VS.NET 2003 ,开发DBMS Step By Step Step 1 ,新建一个VC++项目,MFC 对话框应用程序,这个过程不再介绍
Step 2,从资源视图中打开主对话框
Step 3,右击工具箱中的“对话框编辑器”,选择“添加-移除项”,在弹出的“自定义工具箱”中选择“COM组件”,添加“Microsoft ADO Data Control 6.0(SP4) (OLEDB)”和“Microsoft DataGrid Control 6.0(SP5)(OLEDB)”两个ActiveX控件,点“确定”就可以了。
这时候“对话框编辑器”就多出了这两个控件,把它们拖到对话框中去。
说明:1:如果COM组件中没有这两个控件,请单击“开始”->“所有程序”->“Microsoft Visual Studio.NET 2003”-> “Visual Studio .NET 工具”-> “Visual Studio.NET 2003 命 令提示”
输入:regsvr32 msadodc.ocx和regsvr32 msdatgrd.ocx,即可以将这两个控件添加到工具箱中 2:如果拖这两个控件时出现“未能实例化控件******,因为这需要设计时授权”,请拿 出VS.NET 2003的安装盘,在 \VisualStudio2003Inst\Extras\VB6 Controls目录下应该能找到 vb6controls.reg这个文件,双击它,把这个信息 添加到注册表中去,就可以了 Step 4 实现数据库绑定
在ADODC控件的属性中找到ConnectionString一项,打开,选择"General“->”Build“,在 “提供程序”中选择“Microsoft Jet 4.0 OLE DB Provider”(因为我这里用的是Access 2003 数据 库),在“连接”中选择一个“源数据库”,其他的都用默认值,就可以了。设定完连接字符 串后打 开“RecordSource”属性,在“CommandType”中选择"1-adCmdText”,在Command Text (SQL)中输和"Select * from UserInfo”(视数据表不同而不同),点“确定”。
在DataGrid控件的属性中找到Data Source一项,选择“IDC_ADODC1”一项,设DataField为 “ID”,就可以了
好,现在编译一下,可以看到了吧,DataGrid清清楚楚地显示了数据表里的内容。 体验到了MFC的强大了吧,哈,不需要自己写一行代码,就能实现这么强大的功能。 Step 5 引用ADODC和DataGrid类
这一步就比较容易了
添加两个变量,m_Adodc和m_DataGrid
就会自己包含这两个类的头文件
Step 6 实现搜索、插入、删除、修改功能
这一步也很容易做
我只把Button的Click事件代码贴上
详细内容就不表述了
搜索:
void CVCMFCDBDlg::OnBnClickedButtonSearch() {
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);
CString sql= (CString)"select * from UserInfo where ID='";
sql = sql + (CString)m_csID ;
sql = sql + (CString)"'";
m_Adodc.CommandTypeEnum = CAdodc1::adCmdText; m_Adodc.put_RecordSource(sql);
m_Adodc.Refresh();
m_DataGrid.Refresh();
UpdateData(false);
}
添加:
void CVCMFCDBDlg::OnBnClickedButtonAddstudy() {
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);
CString sql= (CString)"Insert into StudyInfo(UserID,StudyTime,StudyContent,StudyGrade) Values('";
sql = sql + (CString)m_csAddID;
sql = sql + (CString)"','";
sql = sql + (CString)m_csNewTime;
sql = sql + (CString)"','";
sql = sql + (CString)m_csNewContent; sql = sql + (CString)"',";
sql = sql + (CString)m_csNewScore;
sql = sql + (CString)")";
m_Adodc.CommandTypeEnum = CAdodc1::adCmdText; m_Adodc.ConnectStringTypeEnum = CAdodc1::adConnectTypeOledb;
m_Adodc.put_RecordSource(sql);
m_Adodc.Refresh();
m_DataGrid.Refresh();
}
删除:
void CVCMFCDBDlg::OnBnClickedButtonDelstudy() {
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);
CString sqlconn,sql;
sql= (CString)"delete from StudyInfo where StudyID ="; sql = sql + (CString)m_csDelID;
//sql = sql + (CString)"'";
//m_Adodc.put_ConnectionString(sqlconn); //m_Adodc.CommandTypeEnum = CAdodc1::adCmdText; m_Adodc.put_RecordSource(sql);
m_Adodc.Refresh();
UpdateData(false);
}
修改功能类似
本文档为【vc++对话框中插入数据库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。