如何在VC建立的ATL工程中使用access数据库? 谁能给个源码啊。不用MFC类库。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ADOhttp://www.vckbase.com/document/finddoc.asp?keyword=ADO 那个是必须要支持MFC才行的吧。 用MFC AppWizard新建一个工程:step1 单文档 step2 完成然后1:在"StdAfx.h"添加一行:#import "C:\Program Files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")2:给CView类添加成员变量:_ConnectionPtr pConn;_RecordsetPtr pRst;3: 在CView类的构造函数里面添加:AfxOleInit(); pConn.CreateInstance(__uuidof(Connection)); pRst.CreateInstance(__uuidof(Recordset)); try { pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=cidian.mdb","","",adModeUnknown); } catch(_com_error e) { AfxMessageBox("数据库连接失败,确认数据库cidian.mdb是否在当前路径下!"); return; }4:在CView析构函数里面添加try { pRst.Release(); pConn.Release(); } catch(_com_error e) { AfxMessageBox("数据库关闭失败!"); }5:可以在CView成员函数里面用了。举例: CString cmdtext="select * from words where word='"+查询词语+"'"; try { pRst=pConn->Execute((_bstr_t)cmdtext,NULL,adCmdText); if(!pRst->adoEOF) { //如果找到了,就...... } } catch(_com_error *e) { AfxMessageBox(e->ErrorMessage()); }6:最后建议你尽量使用MFC里的ODBC进行数据库编程,方便很多,需要编写的代码量很少vc6对Ado编程支持的不好如果真的想学Ado就直接学Ado.net吧,比Ado有很大改进,也是很方便的不过当然要在.net环境下了 算了。我自己解决了。都说过了我不用mfc库的,用Mfc库我还要那么麻烦嘛!结帐。 想问一下,在基于对话框的属性页中,能不能改变它的标签风格或者颜色?(在线观望^_^) 主窗口的客户区包括菜单条,工具栏,状态条吗? 几个button调用同样的事件,如何处理? 一个调试出现的错误,高手来帮忙,分不够再加 求ftp、telnet等常用协议的rfc文档。 给IOoOI 散分 高分求救!八皇后问题 [在线等待] 初级问题 求!急求!VC++高手!有的速度MMM.... 有计算图像高频滤波 和 高频能量的代码 谢谢啊 高分求教:只知道ocx存放的地点(full path), 怎么创建对象? 如何关闭当前窗口
然后
1:在"StdAfx.h"添加一行:#import "C:\Program Files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
2:给CView类添加成员变量:
_ConnectionPtr pConn;
_RecordsetPtr pRst;
3: 在CView类的构造函数里面添加:
AfxOleInit();
pConn.CreateInstance(__uuidof(Connection));
pRst.CreateInstance(__uuidof(Recordset));
try
{
pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=cidian.mdb","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败,确认数据库cidian.mdb是否在当前路径下!");
return;
}
4:在CView析构函数里面添加
try
{
pRst.Release();
pConn.Release();
}
catch(_com_error e)
{
AfxMessageBox("数据库关闭失败!");
}
5:可以在CView成员函数里面用了。举例:
CString cmdtext="select * from words where word='"+查询词语+"'";
try
{
pRst=pConn->Execute((_bstr_t)cmdtext,NULL,adCmdText);
if(!pRst->adoEOF)
{
//如果找到了,就......
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
6:最后建议你尽量使用MFC里的ODBC进行数据库编程,方便很多,需要编写的代码量很少
vc6对Ado编程支持的不好
如果真的想学Ado就直接学Ado.net吧,比Ado有很大改进,也是很方便的
不过当然要在.net环境下了
我自己解决了。
都说过了我不用mfc库的,用Mfc库我还要那么麻烦嘛!
结帐。