请教:如何用OLE DB连接数据库? 我想用OLE DB数据库(SQL SERVER、ORACLE)但HRESULT Open( const CLSID& clsid, LPCTSTR pName = NULL, LPCTSTR pUserName = NULL, LPCTSTR pPassword = NULL, long nInitMode = 0 );中的clsid不知如何得到,请各位指点,谢谢!我是初学者,有代码最好。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用 OLEDB 建立统一的数据访问平台http://www.vckbase.com/code/listcode.asp?mclsid=11&sclsid=1103 以下是我的代码,OPEN后hr的值是一负数,请问是哪里错了?谢谢!HRESULT hr;CLSID clsid;hr=CoInitialize(NULL);if(FAILED(hr)) MessageBox("f1");if(CLSIDFromProgID(L"SQLOLEDB.1",&clsid)==S_OK){ hr=m_source.Open(clsid,"DatabaseName","sa","password",0); if(FAILED(hr)) MessageBox("f2");}else{ MessageBox("dfd");} 给你几个例子:代码3:使用CDaoDatabase(基于DSN)CDaoDatabase MyDb = new CDaoDatabase();MyDb.Open(NULL,FALSE,FALSE,"ODBC;DSN=samp;UID=admin;PWD=admin");代码4:使用CDaoDatabase(基于非DSN)CDaoDatabase MyDb = new CDaoDatabase();MyDb.Open(NULL,FALSE,FALSE,"ODBC;DRIVER={SQL Server};SERVER=server;DATABASE=samp;UID=admin;PWD=admin"); 代码5:使用_ConnectionPtr(基于DSN)_ConnectionPtr MyDb;MyDb.CreateInstance(__uuidof(Connection));MyDb->Open("DSN=samp;UID=admin;PWD=admin","","",-1); 代码6:使用_ConnectionPtr (基于非DSN)_ConnectionPtr MyDb;MyDb.CreateInstance(__uuidof(Connection));MyDb->Open("Provider=SQLOLEDB;SERVER=server;DATABASE=samp;UID=admin;PWD=admin","","",-1);同时,还要在之前初始化OLE:BOOL CADOApp::InitInstance(){ if(!AfxOleInit()) { AfxMessageBox(“OLE初始化出错!”); return FALSE; } …… return TRUE;} 使用BasicExcel如何在工作表内定义名称以实现数据有效性。 在VC中,怎样设置权限? VC中怎么显示大图像? 请问怎样将一个下拉框禁止? 求简单的COM教程电子书 请教一个C++异常处理的问题 怎样模拟对话框的OK按钮被单击? IDispatch接口要自己实现吗? 打开一个通用save/open对话框后,再用DoModal关闭时感觉关闭的速度太慢了。有什么方法能够加快速度? 来自<<The C++ Program Language>>的问题! 讨论:WINDOW函数错误处理 做的vc程序运行一段时间后老出现vc运行时错误,程序不正常终止,主要是哪几种情况造成的?紧急求救
使用 OLEDB 建立统一的数据访问平台http://www.vckbase.com/code/listcode.asp?mclsid=11&sclsid=1103
HRESULT hr;
CLSID clsid;
hr=CoInitialize(NULL);
if(FAILED(hr))
MessageBox("f1");
if(CLSIDFromProgID(L"SQLOLEDB.1",&clsid)==S_OK)
{
hr=m_source.Open(clsid,"DatabaseName","sa","password",0);
if(FAILED(hr))
MessageBox("f2");
}
else
{
MessageBox("dfd");
}
代码3:使用CDaoDatabase(基于DSN)CDaoDatabase MyDb = new CDaoDatabase();MyDb.Open(NULL,FALSE,FALSE,"ODBC;DSN=samp;UID=admin;PWD=admin");
代码4:使用CDaoDatabase(基于非DSN)CDaoDatabase MyDb = new CDaoDatabase();MyDb.Open(NULL,FALSE,FALSE,"ODBC;DRIVER={SQL Server};SERVER=server;DATABASE=samp;UID=admin;PWD=admin"); 代码5:使用_ConnectionPtr(基于DSN)_ConnectionPtr MyDb;MyDb.CreateInstance(__uuidof(Connection));MyDb->Open("DSN=samp;UID=admin;PWD=admin","","",-1); 代码6:使用_ConnectionPtr (基于非DSN)_ConnectionPtr MyDb;MyDb.CreateInstance(__uuidof(Connection));MyDb->Open("Provider=SQLOLEDB;SERVER=server;DATABASE=samp;UID=admin;PWD=admin","","",-1);同时,还要在之前初始化OLE:
BOOL CADOApp::InitInstance()
{
if(!AfxOleInit())
{
AfxMessageBox(“OLE初始化出错!”);
return FALSE;
} …… return TRUE;
}