MFC使用ADO操作SQLSERVER数据库

首先,要引入msado15.dll库文件,该文件是ADO操作的库

#import "C:\ProgramFiles\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF", "adoBOF")

 

然后在程序的初始化处,加入如下语句,初始化ADO的COM组件:

    if (!AfxOleInit())                          //?º?¡¥OLE/COMa

    {

        AfxMessageBox(_T("OLE init Error"));

        returnFALSE;

    }

 

最后定义一个执行SQL语句的函数:

/************************************************************************/

/* Á?¡§°?Ì?SQL®??¡äD¡¥ºy                                             */

/************************************************************************/

void SQLFunction(CStringstr)

{

    _ConnectionPtrpConn;

    const_bstr_t strSRC= "Provider=SQLOLEDB;Server=(local);DataBase=yourDataBase;uid=sa;pwd=yourpassword;";

    if(FAILED(pConn.CreateInstance("ADODB.Connection")))

    {

        AfxMessageBox(_T("Create Instance failed!"));

        exit(0);

    }

    try{

        pConn->Open(strSRC,"","",-1);

        //执行SQL语句

        _variant_t  RecordsAffected;

        pConn->Execute((_bstr_t)str,&RecordsAffected,adCmdText);

        //关闭数据库

        pConn->Close();

        pConn.Release();

    }

    catch (_com_error &e)

    {

        AfxMessageBox(e.Description());

        exit(0);

    }

}

 

每次需要执行SQL操作时,只需要向SQLFunction函数传入SQL语句即可操作进行。

数据库连接字符中

"Provider=SQLOLEDB;Server=(local);DataBase=yourDataBase;uid=sa;pwd=yourpassword;";

Server可以直接用IP地址。


对于如何获取SQL的查询,可以参考我的另一篇关于ADO的文章。

展开阅读全文

没有更多推荐了,返回首页