关于VC6.0用ADO连接sql2005数据库的问题 谁在VC6.0中用ado连接过sql server 2005数据库?成功过没?vc6和sql server2005是啥版本?sp2的sql server2005企业版可联上不?连接字段是啥?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只连过ACCESS,不好意思帮不上快 1、ACCESS数据库的:ADOConn::ADOConn(){}ADOConn::~ADOConn(){}void ADOConn::OnInitADOConn(){ ::CoInitialize(NULL); try { m_pConnection.CreateInstance("ADODB.Connection"); //ACCESS数据库 _bstr_t strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ck.mdb";//打开数据库ck.mdb为数据库 m_pConnection->Open(strConnect,"","",adModeUnknown); } catch(_com_error e) { AfxMessageBox("初始化失败"); }}_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)//获取记录集{ try { if(m_pConnection==NULL) OnInitADOConn(); m_pRecordset.CreateInstance(__uuidof(Recordset)); m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); } catch(_com_error e) { AfxMessageBox("打开记录集失败"); } return m_pRecordset;}BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)//执行sql{ _variant_t RecordsAffected; try { if(m_pConnection==NULL) OnInitADOConn(); m_pConnection->Execute(bstrSQL,NULL,adCmdText); return true; } catch(_com_error e) { AfxMessageBox("执行失败"); return false; }}void ADOConn::ExitConnect()//关闭数据库{ if(m_pRecordset!=NULL) m_pRecordset->Close(); m_pConnection->Close(); ::CoUninitialize();}2、sql server 2000的(2005的没用过,可以参考一下2000的)ADOConn::ADOConn(){}ADOConn::~ADOConn(){}void ADOConn::OnInitADOConn(){ ::CoInitialize(NULL); try { char szBuffer[255];//定义数组 DWORD dwSize = 255;//大小 GetComputerName(szBuffer,&dwSize);//得到计算机名称 CString aa=""; aa.Format("%s",szBuffer); //szBuffer--->CString CString strCon; strCon.Format("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;uid=sa;pwd=sa;Initial Catalog=dx-exam;Data Source=%s", aa); _bstr_t strConnect = strCon; m_pConnection.CreateInstance("ADODB.Connection");// _bstr_t strConnect="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;uid=sa;pwd=sa;Initial Catalog=dx-exam;Data Source=mis-liuyong";//打开数据库 m_pConnection->Open(strConnect,"","",adModeUnknown); } catch(_com_error e) { AfxMessageBox("初始化失败"); }}_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)//获取记录集{ try { if(m_pConnection==NULL) OnInitADOConn(); m_pRecordset.CreateInstance(__uuidof(Recordset)); m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); } catch(_com_error e) { AfxMessageBox("打开记录集失败"); } return m_pRecordset;}BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)//执行sql{ _variant_t RecordsAffected; try { if(m_pConnection==NULL) OnInitADOConn(); m_pConnection->Execute(bstrSQL,NULL,adCmdText); return true; } catch(_com_error e) { AfxMessageBox("执行失败"); return false; }}void ADOConn::ExitConnect()//关闭数据库{ if(m_pRecordset!=NULL) m_pRecordset->Close(); m_pConnection->Close(); ::CoUninitialize();} ■■■怎样得到复制状态下的系统的鼠标图标 VC/MFC自定义的消息失效,请各位大侠指教给看看 什么时候必须显示的调用COM对象的AddRef函数? RichEdit2.0滚动输出的问题 求助:对ODBC驱动程序(DLL)的调试 全局鼠标钩子中,如何判断鼠标右键双击 怎么样向我的基于对话框的程序中添加菜单!!! 进程间通讯 当SCRIPTcC出现错误时,浏览器不出现提示,而我用web控件做的浏览器却出现缺少对象的提示,why 我讨厌提示 C++中一些关于函数调用的问题 Invalidate()与InvalidateRect()有什么根本的区别么? 散分,我的第一个VC程序总算做好了
{}ADOConn::~ADOConn()
{}void ADOConn::OnInitADOConn()
{
::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance("ADODB.Connection");
//ACCESS数据库
_bstr_t strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ck.mdb";//打开数据库ck.mdb为数据库
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("初始化失败");
}
}_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)//获取记录集
{
try
{
if(m_pConnection==NULL)
OnInitADOConn();
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
AfxMessageBox("打开记录集失败");
}
return m_pRecordset;
}BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)//执行sql
{
_variant_t RecordsAffected;
try
{
if(m_pConnection==NULL)
OnInitADOConn();
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox("执行失败");
return false;
}
}void ADOConn::ExitConnect()//关闭数据库
{
if(m_pRecordset!=NULL)
m_pRecordset->Close();
m_pConnection->Close();
::CoUninitialize();
}2、sql server 2000的(2005的没用过,可以参考一下2000的)ADOConn::ADOConn()
{}ADOConn::~ADOConn()
{}void ADOConn::OnInitADOConn()
{
::CoInitialize(NULL);
try
{
char szBuffer[255];//定义数组
DWORD dwSize = 255;//大小
GetComputerName(szBuffer,&dwSize);//得到计算机名称
CString aa="";
aa.Format("%s",szBuffer); //szBuffer--->CString
CString strCon;
strCon.Format("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;uid=sa;pwd=sa;Initial Catalog=dx-exam;Data Source=%s", aa);
_bstr_t strConnect = strCon; m_pConnection.CreateInstance("ADODB.Connection");
// _bstr_t strConnect="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;uid=sa;pwd=sa;Initial Catalog=dx-exam;Data Source=mis-liuyong";//打开数据库
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("初始化失败");
}
}_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)//获取记录集
{
try
{
if(m_pConnection==NULL)
OnInitADOConn();
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
AfxMessageBox("打开记录集失败");
}
return m_pRecordset;
}BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)//执行sql
{
_variant_t RecordsAffected;
try
{
if(m_pConnection==NULL)
OnInitADOConn();
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox("执行失败");
return false;
}
}void ADOConn::ExitConnect()//关闭数据库
{
if(m_pRecordset!=NULL)
m_pRecordset->Close();
m_pConnection->Close();
::CoUninitialize();
}