最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

数据库ODBC

来源:动视网 责编:小OO 时间:2025-10-02 00:00:44
文档

数据库ODBC

ODBC数据库:1>设置数据源,控制面板----管理工具------用户SDN----添加----添加所用的驱动-----数据源名-----数据库选择-------找到设置好的数据库文件。例如:Access.mdbADO数据库:ADO对象包括:连接对象ConnectionObject、命令对象CommandObject、记录集对象RecordSetObject、字段对象FieldObject、记录对象RecordObject、错误对象ErrorObject、参数对象ParameterObjec
推荐度:
导读ODBC数据库:1>设置数据源,控制面板----管理工具------用户SDN----添加----添加所用的驱动-----数据源名-----数据库选择-------找到设置好的数据库文件。例如:Access.mdbADO数据库:ADO对象包括:连接对象ConnectionObject、命令对象CommandObject、记录集对象RecordSetObject、字段对象FieldObject、记录对象RecordObject、错误对象ErrorObject、参数对象ParameterObjec
ODBC数据库:

1>设置数据源,控制面板----管理工具------用户SDN----添加----添加所用的驱动-----数据源名-----数据库选择-------找到设置好的数据库文件。例如:Access.mdb

ADO数据库:

ADO对象包括:连接对象Connection Object、命令对象Command Object、记录集对象                        RecordSet Object、字段对象Field Object、记录对象Record Object、错误对象Error Object、参数对象Parameter Object、属性对象Property Object、流对象Stream Object

其中连接对象、命令对象、记录集对象是最重要的

ADO的引入:

需要在StdAfx.h文件的末尾加入下面的语句:#import “C:\\program files\\common files\\system\\ado\\msado15.dll” no_namespace rename(“EOF”,”adoEOF”)

同时在编译时系统会生成msado15.tlh,ado15.tli两个C++头文件来定义数据库

数据库连接:

定义连接对象

_ConnectionPtr m_pConnection;

_RecordSetPtr m_pRecordset

_CommandPtr m_pCommand

实例化:m_pConnection.CreateInstance(_uuidof(Connection));

        M_pRecordSet.CreateInstance(_uuidof(Recordset));

        M_pCommand.CreateInstance(ADODB.COMMAND);

连接数据库:try

            {

                _bstr_t  strConnect = “driver = {SQL Server};Server = 127.0.0.1;DATABASE = workerdb;UID = Jack;PWD = Jack”;

             M_pConnection ->Open(strConnect,””,””,-1);

            }

            Catch(_com_error  e)

            {

                MessageBox(NULL,e.ErrorMessage(),”Error”,MB_OK);

            }

查询记录:

可以通过Open方法来进行记录的查询,函数原型如下

HRESULT Recordset15::Open()

Try

{

    Cstring strSql = “select * from worder_information”;

    BSTR bstrSQL = strSql.AllocSysString();

M_pRecordset –>Open(bstrSQL,(Idispatch *)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);

Int nID;

Cstring strName;

Int nPay;

Int nIndex = 0;

//遍历记录

While(!m_pRecordset ->adoEOF)

{

    nIndex ++;

    _variant_t varValue;

varValue = m_pRecordset ->Fields ->GetItem(“wordID”)->Value;

if(varValue.vt != VT_NULL)

{

    nID = varValue.iVal;

}

varValue = m_pRecordset ->GetCollect(“worder_name”);

if(varValue.vt != VT_NULL)

{

    strName = (char *)_bstr_t(varValue);

}

varValue = m_pRecordset ->Fields ->GetItem(“worder_pay”)->GetValue();

if(varValue.vt != VT_NULL)

{

    nPay = varValue.iVal;

}

Cstring strResult;

strResult.Format(“The record %d values:%d,%s,%d!”,i,nID,strName,nPay);

AfxMessageBox(strResult);

//移动到下一条记录

M_pRecordset->MoveNext;

}

//读取完后,关闭记录集

M_pRecordset ->Close();

}

Catch(_com_error e)

{

    MessageBox(NULL,e.ErrorMessage(),”Error”,MB_OK);

}

添加记录:

1>使用Connection Object的Execute方法

2>使用Command Object的Executefangfa

3>记录集提供的AddNew方法

Try

{

Cstring strSql = “select * from worker_information”;

BSTR bstrSQL = strSql.AllocSysString();

M_pRecordset -> Open(bstrSQL,(Idispatch *)m_pConnection,adOpenDynamic,adLockPessimistic,adCmdText);

//添加记录

M_pRecordset ->AddNew();

M_pRecordset ->Fields ->GetItem(“worker_ID”) ->Value = 3;

M_pRecordset ->Fields ->GetItem(“worder_Name”) ->Value = _bstr_t(“Hello”);

M_pRecordset ->Fields ->GetItem(“worder_Pay”) ->Value = 2300;

//更新数据

M_pRecordset ->Update();

M_pRecordset ->Close();

}

Catch( _com_error e)

{

    AfxMessageBox(e.ErrorMessage());

}

修改记录:

还是用第三种方法,但不需要AddNew()

Try

{

Cstring strSql = “select * from worker_information  where worker_ID = 3”;

BSTR bstrSQL = strSql.AllocSysString();

M_pRecordset -> Open(bstrSQL,(Idispatch *)m_pConnection,adOpenDynamic,adLockPessimistic,adCmdText);

//修改

If(!m_pRecordset ->adEOF)

{

M_pRecordset ->Fields ->GetItem(“worker_ID”) ->Value = 3;

M_pRecordset ->Fields ->GetItem(“worder_Name”) ->Value = _bstr_t(“方格”);

M_pRecordset ->Fields ->GetItem(“worder_Pay”) ->Value = 2500;

    //更新数据

M_pRecordset ->Update();

}

M_pRecordset ->Close();

}

Catch( _com_error e)

{

    AfxMessageBox(e.ErrorMessage());

}

删除记录:

Try

{

_variant_t vNULL;

vNULL.vt = VT_ERROR;

//定义为无参数

vNULL.scode = DISP_E_PARAMNOTFOUND;

//下面这条语句很关键,建立连接成功后将m_pConnection赋值给ActiveConnection

M_pCommand->ActiveConnection = m_pConnection;

//命令串

M_pCommand ->CommandText = “delete worder_information where worker_ID = 3”;

//执行命令

M_pRecordset = m_pCommand - > Execute(&vNULL,&vNULL,adCmdText);

}

Catch( _com_error e)

{

    AfxMessageBox(e.ErrorMessage());

}

文档

数据库ODBC

ODBC数据库:1>设置数据源,控制面板----管理工具------用户SDN----添加----添加所用的驱动-----数据源名-----数据库选择-------找到设置好的数据库文件。例如:Access.mdbADO数据库:ADO对象包括:连接对象ConnectionObject、命令对象CommandObject、记录集对象RecordSetObject、字段对象FieldObject、记录对象RecordObject、错误对象ErrorObject、参数对象ParameterObjec
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top