VC++6.0怎么和sql sever 2008建立连接?
1个回答
2015-12-02 · 知道合伙人软件行家
关注
展开全部
一、初始化
首先,在stdafx.h文件中加入:
#import "C:\Program files\common files\System\ado\msado15.dll" no_namespace rename("EOF","EndOfFile")
定义变量
_ConnectionPtr ADOConn;
_RecordsetPtr m_pADOSet;
二、连接
//SQL SERVER数据库连接
::CoInitialize(NULL);
CString strConnect;
strConnect="Provider=sqloledb.1;Data Source=192.168.0.131;Initial Catalog=mynet;UID=sa;Integrated Security=SSPI";
//mynet数据库名字,我使用的是非数据源方式
try
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn->Open((const char *)strConnect,"","",adModeUnknown);//adConnectUnspecified
}
catch(...)
{
AfxMessageBox("数据库初始化错误,程序将关闭!");
return FALSE;
}
三、初始化ADO记录集
m_pADOSet.CreateInstance(__uuidof(Recordset));
_variant_t strSQL;
strSQL="select * from kk";
if ( m_pADOSet->State == adStateOpen)
m_pADOSet->Close();
try
{
m_pADOSet->CursorLocation=adUseClient;
m_pADOSet->Open("select * from kk", ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);
}
catch(_com_error &e)
{
CString err;
err.Format("ADO Error: %s",(char*)e.Description());
}
int iCount;
iCount = m_pADOSet->GetRecordCount();
四、查询数据
_variant_t Holder;
int T0;
while(!m_pADOSet->EndOfFile)
{
Holder = m_pADOSet->GetCollect("id");
//if(Holder.intVal!=VT_NULL)
T0=Holder.intVal;
m_pADOSet->MoveNext();
}
五、添加数据
m_pADOSet->AddNew();
m_pADOSet->PutCollect("id",_variant_t("23"));
m_pADOSet->PutCollect("username",_variant_t("salkfj"));
m_pADOSet->Update();
六、修改数据
m_pADOSet->EditMode;
m_pADOSet->PutCollect("id",_variant_t("3"));
m_pADOSet->PutCollect("username",_variant_t("saj123456789"));
m_pADOSet->Update();
七、删除数据
m_pADOSet->Delete(adAffectCurrent);//删除当前记录
八、断开数据库
//释放ADO连接对象
if(adStateOpen == ADOConn->State)
ADOConn->Close();
ADOConn.Release();
// 释放ADO记录集
if(adStateOpen==m_pADOSet->State)
m_pADOSet->Close();
m_pADOSet.Release();
首先,在stdafx.h文件中加入:
#import "C:\Program files\common files\System\ado\msado15.dll" no_namespace rename("EOF","EndOfFile")
定义变量
_ConnectionPtr ADOConn;
_RecordsetPtr m_pADOSet;
二、连接
//SQL SERVER数据库连接
::CoInitialize(NULL);
CString strConnect;
strConnect="Provider=sqloledb.1;Data Source=192.168.0.131;Initial Catalog=mynet;UID=sa;Integrated Security=SSPI";
//mynet数据库名字,我使用的是非数据源方式
try
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn->Open((const char *)strConnect,"","",adModeUnknown);//adConnectUnspecified
}
catch(...)
{
AfxMessageBox("数据库初始化错误,程序将关闭!");
return FALSE;
}
三、初始化ADO记录集
m_pADOSet.CreateInstance(__uuidof(Recordset));
_variant_t strSQL;
strSQL="select * from kk";
if ( m_pADOSet->State == adStateOpen)
m_pADOSet->Close();
try
{
m_pADOSet->CursorLocation=adUseClient;
m_pADOSet->Open("select * from kk", ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);
}
catch(_com_error &e)
{
CString err;
err.Format("ADO Error: %s",(char*)e.Description());
}
int iCount;
iCount = m_pADOSet->GetRecordCount();
四、查询数据
_variant_t Holder;
int T0;
while(!m_pADOSet->EndOfFile)
{
Holder = m_pADOSet->GetCollect("id");
//if(Holder.intVal!=VT_NULL)
T0=Holder.intVal;
m_pADOSet->MoveNext();
}
五、添加数据
m_pADOSet->AddNew();
m_pADOSet->PutCollect("id",_variant_t("23"));
m_pADOSet->PutCollect("username",_variant_t("salkfj"));
m_pADOSet->Update();
六、修改数据
m_pADOSet->EditMode;
m_pADOSet->PutCollect("id",_variant_t("3"));
m_pADOSet->PutCollect("username",_variant_t("saj123456789"));
m_pADOSet->Update();
七、删除数据
m_pADOSet->Delete(adAffectCurrent);//删除当前记录
八、断开数据库
//释放ADO连接对象
if(adStateOpen == ADOConn->State)
ADOConn->Close();
ADOConn.Release();
// 释放ADO记录集
if(adStateOpen==m_pADOSet->State)
m_pADOSet->Close();
m_pADOSet.Release();
追问
你好,这个stdafx.h文件是什么?后面那些代码要在什么工程文件下写?我刚接触,基本什么都不懂,望详细解答。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询