①、使用 Connection 对象进行打开连接操作时,基本的步骤如下:
⑴、【属性】设置 ConnectionString 连接属性,ConnectionString 是连接字符串,是由一些列分号间隔的语句的连接字符串组成,用于指定连接数据源的信息,数据源不同,连接的字符串也不同;
⑵、【属性】设置 ConnectionTimeout 连接超时属性,单位为秒,默认是 15 秒,如果设置为 0,则 ADO 无限等待,直到连接打开;
⑶、【方法】调用 Open 方法,建立到数据源的连接,Open 方法的函数声明如下:
HRESULT Open(_bstr_t ConnectionString,
_bstr_t UserID,
_bstr_t Password,
long Options )
参数意义如下:
ConnectionString 可选参数,类型为字符串,包含连接信息,如果设置了 ConnectionString 属性,那么其他的两个参数就可以不设置了;
UserID 可选参数,字符串,包含建立连接时所使用的用户名;
Password 可选参数,字符串,包含建立连接时所使用的密码;
Option 可选参数,决定该方法是在连接建立后(异步)还是连接建立之前(同步)返回,可以设定如下两个常量:
adConnectUnsepecified(同步)和 adAsyncConnect(异步);
原文链接:https://www.f2er.com/oracle/206186.html⑴、【属性】设置 ConnectionString 连接属性,ConnectionString 是连接字符串,是由一些列分号间隔的语句的连接字符串组成,用于指定连接数据源的信息,数据源不同,连接的字符串也不同;
⑵、【属性】设置 ConnectionTimeout 连接超时属性,单位为秒,默认是 15 秒,如果设置为 0,则 ADO 无限等待,直到连接打开;
⑶、【方法】调用 Open 方法,建立到数据源的连接,Open 方法的函数声明如下:
HRESULT Open(_bstr_t ConnectionString,
_bstr_t UserID,
_bstr_t Password,
long Options )
参数意义如下:
ConnectionString 可选参数,类型为字符串,包含连接信息,如果设置了 ConnectionString 属性,那么其他的两个参数就可以不设置了;
UserID 可选参数,字符串,包含建立连接时所使用的用户名;
Password 可选参数,字符串,包含建立连接时所使用的密码;
Option 可选参数,决定该方法是在连接建立后(异步)还是连接建立之前(同步)返回,可以设定如下两个常量:
adConnectUnsepecified(同步)和 adAsyncConnect(异步);
建立连接:
BOOL CRentMgrDlg::ConnectDB() { HRESULT hr; try { //实例化connection对象 hr = m_pConnection.CreateInstance(__uuidof(Connection)); if (SUCCEEDED(hr)) { //设置连接超时属性 m_pConnection->ConnectionTimeout = 20; //连接字符串 _bstr_t connectstr = _T("Provider=MSDAORA.1;Password=312;User ID=t;Data Source=t;Persist Security Info=True"); //使用智能指针Connection的open方法建立连接 hr = m_pConnection->Open(connectstr,_T(""),adConnectUnspecified); if (Failed(hr)) { MessageBox(_T("Open()打开与数据库的连接失败!")); return FALSE; } } else { MessageBox(_T("实例化connection对象失败!")); return FALSE; } } catch (_com_error &e) { _bstr_t bstrSource(e.Source()); _bstr_t bstrDescription(e.Description()); MessageBox(bstrDescription,bstrSource); return FALSE; } MessageBox(_T("成功")); return TRUE; }
断开连接:
void CRentMgrDlg::CloseDB() { if (m_pConnection && m_pConnection->State == adStateOpen) m_pConnection->Close(); }