m_database.OpenEx("driver={SQL Server};Server=192.168.0.21;DATABASE=ma;UID=sa;PWD=", false)
可以连接成功,并且读取数据成功,
改成m_database.OpenEx""Provider=SQLOLEDB;Server=192.168.0.21;
DATABASE=ma;UID=sa;PWD=",false)
没有报错,不知是否连接成功,读取不了数据hr = m_pRecordset->Open(szSql, // 查询DemoTable表中所有字段
m_pConn->GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenStatic,
adLockOptimistic,
adCmdText);nTemp = m_pRecordset->RecordCount;返回的值为-1,如果没有查到相应的记录,应该为0 啊,
可以连接成功,并且读取数据成功,
改成m_database.OpenEx""Provider=SQLOLEDB;Server=192.168.0.21;
DATABASE=ma;UID=sa;PWD=",false)
没有报错,不知是否连接成功,读取不了数据hr = m_pRecordset->Open(szSql, // 查询DemoTable表中所有字段
m_pConn->GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenStatic,
adLockOptimistic,
adCmdText);nTemp = m_pRecordset->RecordCount;返回的值为-1,如果没有查到相应的记录,应该为0 啊,
bstrCmd = _bstr_t(szSql);
m_pRecordset->Open(bstrCmd, (IDispatch *)m_pConnection, adOpenStatic, adLockOptimistic, adCmdText);
szSql用BSTR格式。打开一次数据库就够了,OpenEx不需要了吧。
CString m_sConn="Provider=Microsoft.Jet.OLEDB.4.0.1;Data Source=d:\\db1.mdb";
m_pConn.CreateInstance("ADODB.Connection");
try
{
HRESULT hr=m_pConn->Open((_bstr_t)m_sConn,"","",adConnectUnspecified);
if (FAILED(hr))
{
AfxMessageBox("不能连接数据库 source!");
return FALSE;
}
}
catch(_com_error e)
{
AfxMessageBox("不能连接数据库 error!");
return FALSE;
}2.SQL Server 2000 _ConnectionPtr m_pConn;
CString m_sConn="Provider=SQLOLEDB.1;Data Source=192.168.3.9;Initial
Catalog=sode"; //sode是数据库服务器192.168.3.9上的一个数据库
m_pConn.CreateInstance("ADODB.Connection");
try
{
HRESULT hr=m_pConn->Open((_bstr_t)m_sConn,"sa","mapper",adConnectUnspecified);
if (FAILED(hr))
{
AfxMessageBox("不能连接数据库 source!");
return FALSE;
}
}
catch(_com_error e)
{
AfxMessageBox("不能连接数据库 error!");
return FALSE;
}3.Oracle 9i _ConnectionPtr m_pConn;
CString m_sConn="Provider=MSDAORA.1;Data Source=sode_192.168.3.9"; //使用
ms连接库,sode为SID,192.168.3.9为机器ip
m_pConn.CreateInstance("ADODB.Connection");
try
{
HRESULT hr=m_pConn->Open((_bstr_t)m_sConn,"sodeUser","sodePw",adConnectUnspecified);
if (FAILED(hr))
{
AfxMessageBox("不能连接数据库 source!");
return FALSE;
}
}
catch(_com_error e)
{
AfxMessageBox("不能打开数据库 error!");
return FALSE;
}