读书人

关于连接sql数据库的有关问题

发布时间: 2012-01-23 21:57:28 作者: rapoo

关于连接sql数据库的问题?
以下这段连接sql数据库的代码我总感觉很庞大,
如何用个函数封装起来,只留一个或两个参数接口?

C/C++ code
void CSqlserverDlg::OnButton1() {    CoInitialize(NULL);//初始化COM库    _ConnectionPtr pConn(__uuidof(Connection));//实例化一个connection对象pConn    _RecordsetPtr pRst(__uuidof(Recordset)); //实例化一个Recordset对象pRst[/color]    //连接字符串说明:Provider表示驱动引擎;User ID表示用户名;Password表示口令;Initial Catalog表示数据库名    pConn->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;"        "User ID=sa;Initial Catalog=xx;Password=;Data Source=(local)";    pConn->Open("","","",adConnectUnspecified);     pRst->Close();    pConn->Close();    pRst.Release();    pConn.Release();    CoUninitialize();//释放COM库}


[解决办法]
代码其他部分请补全
C/C++ code
 class CAdo{private:    _ConnectionPtr    public:    CAdo(){CoInitialize(NULL);        _ConnectionPtr pConn(__uuidof(Connection));        _RecordsetPtr pRst(__uuidof(Recordset))    }    ~CAdo(){            //验证后进行关闭            pRst->Close();            pConn->Close();            pRst.Release();            pConn.Release();            CoUninitialize();        }public:    //operator    BOOL ConnToDB(TCHAR *pProvider,TCHAR *pUserID,TCHAR *pDBname,TCHAR *pPWD,TCHAR *pDBSource)        {            BOOL b_Retn = TRUE;            try            {                pConn->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;"                    "User ID=sa;Initial Catalog=xx;Password=;Data Source=(local)";                pConn->Open("","","",adConnectUnspecified);                 ..........            }catch ( ...)            {            }            return b_Retn;        }} 

读书人网 >VC/MFC

热点推荐