谁知道用ado连接access2000的mdb文件的连接字符串的写法?在线等待,第一个帮我解决的得50分!
[email protected]
[email protected]
解决方案 »
- 用函数MCIWndSetVolume()调节wav声音时出现驱动程序无法识别指定的命令
- 100分,有谁用过AlphaBlend这个么?
- 如何用matlab在三维空间中画一倾斜圆柱 最好有代码
- 通过SNMP获取APC UPS信息
- 怎么用给ActiveX添加一个带参数方法怎么用VB写它的调试代码?
- CString与BYTE转换的问题
- 哪些浏览器是公布源代码的?
- 我的那个vc好像不能改为release,由debug改为release后但是再看属性还是debug,还有……
- 日期为变量,sqlite按日期查询
- 请问各位当中有项目经理吗?介绍一下你们的经验。
- 怎样关闭弹出的ie广告条?
- 学delphi好还是vc++好?
"User Id=admin;Password=;");If you are using a Workgroup (System database):strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\DataBasePath\\mydb.mdb;"
"Jet OLEDB:System Database=MySystem.mdw;");
pRs.Open(strConnect, "MyUsername", "MyPassword"); 这儿有一个全乎的,专讲各种数据库的连接:)
http://www.codeproject.net/useritems/ConnectionStrings.asp
#include <stdio.h>
//#include <afxdisp.h>#import "E:\program files\common files\system\ado\msado15.dll" rename ("EOF","adoEOF") no_namespace#define CREATEiNSTANCE(sp,riid) { HRESULT _hr =sp .CreateInstance( __uuidof( riid ) ); \
if (FAILED(_hr)) _com_issue_error(_hr); }#define RsITEM(rs,x) rs->Fields->Item[_variant_t(x)]->Value
#define UC (char *)
struct InitOle {
InitOle() { ::CoInitialize(NULL); }
~InitOle() { ::CoUninitialize(); }
} _init_InitOle_; // Global Instance to force load/unload of OLEvoid main(){ _RecordsetPtr spRS;
_RecordsetPtr spRSCopy;
_ConnectionPtr spCON;
try{
CREATEiNSTANCE(spCON,Connection);
spCON->ConnectionString =L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=J:\\Program\\WebMap\\ReleaseUMinDependency\\webmap.mdb;"
L"Persist Security Info=False";
spCON->Open( "", "", "", -1 );
CREATEiNSTANCE(spRS,Recordset)
spRS->PutRefActiveConnection(spCON );
spRS->Open("select * from [StationInfo]", vtMissing, adOpenKeyset,
adLockBatchOptimistic, adCmdUnspecified);
spRS->MoveLast();
spRS->MoveFirst();
if(spRS->RecordCount>0)
{
while(spRS->adoEOF == false)
{
printf("%s",UC _bstr_t(RsITEM(spRS,"STATNAME")));
spRS->MoveNext();
}
}
spRS->Close();
spCON->Close();
}
catch( _com_error &e){
_bstr_t bstrSource(e.Source());
_bstr_t bs = _bstr_t(" Error: ") + _bstr_t(e.Error()) + _bstr_t(" Msg: ")
+ _bstr_t(e.ErrorMessage()) + _bstr_t(" Description: ")
+ _bstr_t(e.Description());
MessageBox(0,bs,bstrSource, MB_OK);
}
}
#undef UC
E:\PROJECTS\dbtest\dbtest.cpp(18) : error C2065: '_T' : undeclared identifier
后面一个什么意思?
[email protected]
while(spRS->adoEOF == false)出错!E:\PROJECTS\dbtest\dbtest.cpp(98) : error C2039: 'adoEOF' : is not a member of '_Recordset'
e:\projects\dbtest\debug\msado15.tlh(1685) : see declaration of '_Recordset'
E:\PROJECTS\dbtest\dbtest.cpp(98) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.dbtest.exe - 2 error(s), 0 warning(s)[email protected]
去掉_T()后不会报错,编译通过,但是打开连接时出现异常!
不会这么简单一个问题都解决不了吧?
控制台程序,不用MFC,谁有一段简单可用的实例程序?
数据库随便一个表就可以,一个字段都行!
只要是直接可以运行通过就得分!
[email protected]
m_piConnection->Open(bstr_t(
_ L"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:\\tysdbvc\\vcdb.mdb;"),
NULL, NULL);
Source是所要连接的数据库信息,你可以根据自己的路径去改。
如果你的vcdb.mdb是直接放在工程目录下,Source=\\vcdb.mdb;就可以了
试试看,如果不行把代码贴出来,并表明编译错误信息。
while(spRS->adoEOF == false)出错!请问spRS是什么类型,写到spRS->时是否弹出了adoEOF
rename ("EOF","adoEOF")