C++怎么连接数据库
我这里有纯C++代码,编了个系统,可是怎么连接SQL啊??求高手解答。谢谢我用VS中的C++做的,怎么连接数据库??、能连接不》??必须用MFC??...
我这里有纯C++代码,编了个系统,可是怎么连接SQL啊??求高手解答。谢谢
我用VS中的C++做的,怎么连接数据库??、能连接不》??必须用MFC?? 展开
我用VS中的C++做的,怎么连接数据库??、能连接不》??必须用MFC?? 展开
展开全部
你是打算用ODBC呢还是用ADO?两种方式都可以,在VC上容易实现的,并不一定要用到MFC。如果用ADO 你可以去看下关于 ADODB::_ConnectionPtr 和ADODB::_RecordsetPtr 的相关帮助文档就可以了。
举例代码
//////////////////////////////////////////////////////////////////////////
#import "c:\program files\common files\system\ado\msado15.dll" rename("EOF","EndOfFile")
class CDataBaseOperation
{
public:
CDataBaseOperation(void);
public:
~CDataBaseOperation(void);
public:
BOOL m_bConnection;
private:
ADODB::_ConnectionPtr m_pConnection; //数据库连接字
ADODB::_RecordsetPtr m_pRecordset; //数据库记录集
}
下面是CPP里的连接access的函数,如果连接SQL server把连接字符串改成SQL SERVER的就行了。
BOOL CDataBaseOperation::InitConnection()
{
try
{
HRESULT hr;
::CoInitialize(NULL);
hr = m_pConnection.CreateInstance(__uuidof(ADODB::Connection));
if( !(SUCCEEDED(hr)) )
{
return FALSE;
}
hr = m_pRecordset.CreateInstance(__uuidof(ADODB::Recordset));
if( !(SUCCEEDED(hr)) )
{
m_pConnection.Release();
m_pConnection = NULL;
return FALSE;
}
m_pConnection->CommandTimeout=10;
_bstr_t strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=OMTDB.mdb;;User ID=admin;Password=;Jet OLEDB:Database Password=;Mode=Share Deny None;";
hr = m_pConnection->Open(strConn ,"" ,"" , ADODB::adModeUnknown);
if( !(SUCCEEDED(hr)) )
{
return FALSE;
}
}
catch(_com_error &e)
{
TCHAR perror[64] = {0};
strcpy_s(perror,e.ErrorMessage());
return FALSE;
}
m_bConnection = TRUE;
return TRUE;
}
举例代码
//////////////////////////////////////////////////////////////////////////
#import "c:\program files\common files\system\ado\msado15.dll" rename("EOF","EndOfFile")
class CDataBaseOperation
{
public:
CDataBaseOperation(void);
public:
~CDataBaseOperation(void);
public:
BOOL m_bConnection;
private:
ADODB::_ConnectionPtr m_pConnection; //数据库连接字
ADODB::_RecordsetPtr m_pRecordset; //数据库记录集
}
下面是CPP里的连接access的函数,如果连接SQL server把连接字符串改成SQL SERVER的就行了。
BOOL CDataBaseOperation::InitConnection()
{
try
{
HRESULT hr;
::CoInitialize(NULL);
hr = m_pConnection.CreateInstance(__uuidof(ADODB::Connection));
if( !(SUCCEEDED(hr)) )
{
return FALSE;
}
hr = m_pRecordset.CreateInstance(__uuidof(ADODB::Recordset));
if( !(SUCCEEDED(hr)) )
{
m_pConnection.Release();
m_pConnection = NULL;
return FALSE;
}
m_pConnection->CommandTimeout=10;
_bstr_t strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=OMTDB.mdb;;User ID=admin;Password=;Jet OLEDB:Database Password=;Mode=Share Deny None;";
hr = m_pConnection->Open(strConn ,"" ,"" , ADODB::adModeUnknown);
if( !(SUCCEEDED(hr)) )
{
return FALSE;
}
}
catch(_com_error &e)
{
TCHAR perror[64] = {0};
strcpy_s(perror,e.ErrorMessage());
return FALSE;
}
m_bConnection = TRUE;
return TRUE;
}
展开全部
你是使用VC6.0吗??可以使用odb连接啊!很容易的,你在网上搜搜就有!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C++不能连数据库的,可以用API函数或用VC++可以方便的联接数据库的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用ADO即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询