65,211
社区成员
发帖
与我相关
我的任务
分享
void CMy01Dlg::OnSqlConnect()
{
// TODO: Add your control notification handler code here
//初始化COM对象
CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));//连接对象
_RecordsetPtr pRst(__uuidof(Recordset));//记录集对象
_CommandPtr pCmd(__uuidof(Command));//COMMAND对象
//设置连接字符串
/*在VC中 连接SQl Server数据的字符串:Driver={SQL Server};Server=.;Database=test;Trusted_Connection=Yes;
说明MySqlServer为数据库服务器名或Ip地址,MyTable为数据库表4};
在VC中连接Access数据的字符串Astr.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\\SHMS.mdb;Persist Security Info=False;Jet OLEDB:Database Password=287803603");
*/
//连接ACCESS 指定文件地址就OK我用的是test.mdb
//pConn->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb;Persist Security Info=False;Jet OLEDB:Database Password=";
//连接SQL SERVER
pConn->ConnectionString="Driver={SQL Server};Server=.;Database=mystudent;Trusted_Connection=Yes;";
//////////////////////////////////////////////////////////////ss
pConn->Open("","","",adConnectUnspecified);
//连接对象查询 记录获取数据
//方法1
//pRst=pConn->Execute("select * from student",NULL,adCmdText);
//方法2
pRst->Open("select C_NAME FROM TB_MSG",_variant_t((IDispatch*)pConn),adOpenDynamic,adLockOptimistic,adCmdText);
//方法三:
//pCmd->put_ActiveConnection(_variant_t((IDispatch*)pConn));
//pCmd->CommandText="select * from student";
//pRst=pCmd->Execute(NULL,NULL,adCmdText);
//显示数据
while(!pRst->rsEOF)
{
MessageBox((_bstr_t)pRst->GetCollect("C_NAME"));
pRst->MoveNext();
}
//关闭记录集、连接
pConn->Execute("update TB_MSG set C_NAME='……' where C_ID=1",NULL,adCmdText);
pRst->Close();
pConn->Close();
//释放资源
pCmd.Release();
pRst.Release();
pConn.Release();
CoUninitialize();
}