谁有vc的ado连接oracle的代码?谢谢!100分。急!分不够再加!进来就有 rt,我现在做好了连接sqlserver2000的代码。oracle的不太熟悉,急!谢谢. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 _ConnectionPtr pCn; _variant_t vRows; pCn.CreateInstance(__uuidof(Connection)); int i=::GetLastError(); pCn->CursorLocation=adUseClient; CString strConnect,strSql; strConnect=_T("Provider=msdaora.1;data source=orcl;user id=system;password=manager;");//必须用user id和password,不能简写成uid、pwd strSql="insert into temp (time) values('2003-9-1')"; try{ pCn->Open(_bstr_t(strConnect),L"",L"",-1); pCn->Execute(_bstr_t(strSql),&vRows,adCmdText); pCn->Close(); pCn=NULL; } catch(_com_error &e){ ::AfxMessageBox(e.Description()); } 还有一种,可能更好,如下:driver={Microsoft ODBC for Oracle};server=wgw;uid=users;pwd=users http://www.ccw.com.cn/htm/app/aprog/01_2_12_2.asp DATA_SOURCE = "Provider=oraoledb.oracle;Data Source=aaa;User ID=system; Password=manager" /*======================================================================== Name: 连接到数据源. ----------------------------------------------------- Params: [lpszConnect]: 连接字符串, 包含连接信息. [lOptions]: 可选. 决定该方法是以同步还是异步的方式连接数据 源. 可以是如下某个常量: [常量] [说明] ---------------------------------- adConnectUnspecified (默认)同步方式打开连接. adAsyncConnect 异步方式打开连接. Ado用 ConnectComplete 事 件来通知已经完成连接. ==========================================================================*/BOOL CAdoConnection::Open(LPCTSTR lpszConnect, long lOptions){ ASSERT(m_pConnection != NULL); ASSERT(AfxIsValidString(lpszConnect)); if (strcmp(lpszConnect, _T("")) != 0) { m_strConnect = lpszConnect; } if (m_strConnect.IsEmpty()) { ASSERT(FALSE); return FALSE; } if (IsOpen()) Close(); try { // 连接数据库 --------------------------------------------- return (m_pConnection->Open(_bstr_t(LPCTSTR(m_strConnect)), "", "", lOptions) == S_OK); } catch (_com_error e) { TRACE(_T("Warning: 连接数据库发生异常. 错误信息: %s; 文件: %s; 行: %d\n"), e.ErrorMessage(), __FILE__, __LINE__); TRACE(_T("%s\r\n"), GetLastErrorText()); return FALSE; } catch (...) { TRACE(_T("Warning: 连接数据库时发生未知错误:")); } return FALSE;}上面的变量:_ConnectionPtr m_pConnection;CString m_strConnect; const _ConnectionPtr OpenConnection(BSTR v_strDataSource, BSTR v_strUser,BSTR v_strPassword); 关于pThis指针的问题 【建议】如何提高csdn的结帖率。 MFC封装的DLL,运行错误 求杀进程Solution 求 Essential COM 电子书 类的const 数组的初始化。 一个错误,高手请进,200分,本周末截止 CHeaderCtrl做什么用,怎么用? 请问怎么将一个Dll文件链接到程序? 请问如何得到滚动条SCROLL的长度和宽度,包括窗口右边和下面的两个滚动条。 essential .NET 寻上海市编程能手,有薪业余工作,要求见内详——>
_variant_t vRows;
pCn.CreateInstance(__uuidof(Connection));
int i=::GetLastError();
pCn->CursorLocation=adUseClient; CString strConnect,strSql;
strConnect=_T("Provider=msdaora.1;data source=orcl;user id=system;password=manager;");//必须用user id和password,不能简写成uid、pwd
strSql="insert into temp (time) values('2003-9-1')";
try{
pCn->Open(_bstr_t(strConnect),L"",L"",-1);
pCn->Execute(_bstr_t(strSql),&vRows,adCmdText);
pCn->Close();
pCn=NULL;
}
catch(_com_error &e){
::AfxMessageBox(e.Description());
}
driver={Microsoft ODBC for Oracle};server=wgw;uid=users;pwd=users
Name: 连接到数据源.
-----------------------------------------------------
Params: [lpszConnect]: 连接字符串, 包含连接信息.
[lOptions]: 可选. 决定该方法是以同步还是异步的方式连接数据
源. 可以是如下某个常量:
[常量] [说明]
----------------------------------
adConnectUnspecified (默认)同步方式打开连接.
adAsyncConnect 异步方式打开连接. Ado用 ConnectComplete 事
件来通知已经完成连接.
==========================================================================*/
BOOL CAdoConnection::Open(LPCTSTR lpszConnect, long lOptions)
{
ASSERT(m_pConnection != NULL);
ASSERT(AfxIsValidString(lpszConnect));
if (strcmp(lpszConnect, _T("")) != 0)
{
m_strConnect = lpszConnect;
} if (m_strConnect.IsEmpty())
{
ASSERT(FALSE);
return FALSE;
} if (IsOpen()) Close(); try
{
// 连接数据库 ---------------------------------------------
return (m_pConnection->Open(_bstr_t(LPCTSTR(m_strConnect)), "", "", lOptions) == S_OK);
}
catch (_com_error e)
{
TRACE(_T("Warning: 连接数据库发生异常. 错误信息: %s; 文件: %s; 行: %d\n"), e.ErrorMessage(), __FILE__, __LINE__);
TRACE(_T("%s\r\n"), GetLastErrorText());
return FALSE;
}
catch (...)
{
TRACE(_T("Warning: 连接数据库时发生未知错误:"));
}
return FALSE;
}上面的变量:
_ConnectionPtr m_pConnection;
CString m_strConnect;