VC/MFC中的ACCESS数据库访问实现

原创
2016-06-07 15:36:22 950浏览

前些天弄一个 访问 ACCESS 数据库 的小东西,费了些力气才弄好。 虽然还有些不尽人意,但是终究还是可以用了, 在这里分享一下自己的 实现 方法和经验。 里面的东西网上都有,但是,这里的是最全的。 VC/MFC 访问 ACCESS 数据库 方法1 : 1 创建一个基于对话

前些天弄一个访问ACCESS数据库的小东西,费了些力气才弄好。

虽然还有些不尽人意,但是终究还是可以用了,

在这里分享一下自己的实现方法和经验。

里面的东西网上都有,但是,这里的是最全的。

VC/MFC访问ACCESS数据库

方法1

1 创建一个基于对话框的应用程序。

放入两个ActiveX 控件 Microsoft ADO Data Control,version 6.0 ... 和 Microsoft DataGrid Control,Version 6.0 如果没有两个空间的话,请安装OFFICE组件。

2 为控件设置属性。

1) 为ADO Data Control 设置属性:Control -> Use Connection String -> Build

在弹出的对话框中选择 Microsoft Jet 4.0 OLE DB Provider -> 下一步 -> 在"选择或输入数据库名称"处,选择所创建的数据库文件,例如:d:/test_db/testdb.mdb。密码处默认为空,如果用户表有密码的话,输入密码,并选中"允许保存密码" -> 单击"测试连接" 如弹出"测试连接成功" 表示数据文件已经可已使用。直接确定,回到为对话框资源编辑界面。

为这一控件的:RecordSource 选项设置属性如下:

Command Type 选择 1 -adCmdText

Command Text(SQL) 中 输入SQL语句 : select * from mydb;

ADO Data Control 控件的属性就设置完成了。关闭属性设置界面。

2) 为DataGrid Control设置属性。

DataSource 列表中选择:IDC_ADODC1

关闭属性设置界面。

编译,运行。如果数据库中有数据的话,就会在DataGrid中显示出来了。

想进行其他的数据库操作的话,如下例:

接着上面的程序步骤,

为ADO Data Control 添加一个变量:m_adoDC;

为Data Grid 添加一个变量:m_adoDG;

一个按钮,双击为按钮增加函数。在函数中增加下面的代码:

CString strTem = "select * from mydb where SUserName <> '张三'";

//VC 6.0

m_adoDC.SetRecordResource(strTem);

m_adoDC.Refresh();

//VS 2005/VS 2008

m_adoDC.put_RecordSource(strTem);

m_adoDC.Refresh();

编译运行,效果就出来了。

PS:这种方式下,查询的效果很好,但是,进行INSERT , UPDATE , DELETE 操作的时候会出现一些错误提示:

//VC 6.0 中

对象已关闭,无法进行操作。

//VS 中

Windows has triggered a breakpoint in ...

虽然有提示,但是数据库的操作是成功的。就这个问题查遍了网络,没有人能给出解决方案,同样,我并不比他们强。

第一种方案到此结束。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。