带 Extensions 的 ADO 范例
来源:互联网 发布:soundtrack mac 编辑:程序博客网 时间:2024/05/16 08:10
该程序说明了如何从字段检索数值并将数值转换为 C++ 变量。#define INITGUID
#import "c:/Program Files/Common Files/System/ADO/msado15.dll"
no_namespace rename("EOF", "EndOfFile")
#include <stdio.h>
#include "icrsint.h"void dump_com_error(_com_error &e)
{
printf("Error/n");
printf("/a/tCode = %08lx/n", e.Error());
printf("/a/tCode meaning = %s", e.ErrorMessage());
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
printf("/a/tSource = %s/n", (LPCSTR) bstrSource);
printf("/a/tDescription = %s/n", (LPCSTR) bstrDescription);
}class CCustomRs :
public CADORecordBinding
{
BEGIN_ADO_BINDING(CCustomRs)
ADO_VARIABLE_LENGTH_BINDING_ENTRY(1, adVarChar, m_szau_lname,
sizeof(m_szau_lname), lau_lnameStatus, FALSE)
ADO_VARIABLE_LENGTH_BINDING_ENTRY(2, adVarChar, m_szau_fname,
sizeof(m_szau_fname), lau_fnameStatus, TRUE)
END_ADO_BINDING()public:
CHAR m_szau_lname[41];
ULONG lau_lnameStatus;
CHAR m_szau_fname[41];
ULONG lau_fnameStatus;
};VOID main()
{
HRESULT hr;
IADORecordBinding *picRs = NULL;
::CoInitialize(NULL); try
{
_RecordsetPtr pRs.CreateInstance(__uuidof(Recordset)); CCustomRs rs;
pRs->Open("select FirstName, LastName, Age from Employees",
"dsn=pubs;uid=sa;pwd=;",
adOpenStatic, adLockOptimistic, adCmdUnknown);
if (FAILED(hr = pRs->QueryInterface(__uuidof(IADORecordBinding),
(LPVOID*)&picRs)))
_com_issue_error(hr);
if (FAILED(hr = picRs->BindToRecordset(&rs)))
_com_issue_error(hr); while (VARIANT_FALSE == pRs->EndOfFile)
{
// 处理 CCustomRs C++ 实例变量中的数据。 printf("/a/tName = %s /t%s",
(lau_fnameStatus == adFldOK ? m_szau_fname : "<NULL>"),
(lau_lnameStatus == adFldOK ? m_szau_lname): "<NULL>")); // 更改 Recordset 的当前行。
// 新当前行的 Recordset 数据将被
// 自动取出并防止在 CCustomRs C++ 实例变量中。
pRs->MoveNext();
}
}
catch (_com_error &e)
{
dump_com_error(e);
} if (picRs)
picRs->Release(); CoUninitialize();
};
- 带 Extensions 的 ADO 范例
- ADO 的 VC++ Extensions
- VS2008自带的Linq101个范例
- struts自带范例的学习方法
- VC中调用ADO对象访问数据库的范例
- ado 连接带密码的access
- ADO连接带密码的Access数据库
- 理解 Visual C++ Extensions for ADO
- ADO.NET Entity Framework Extensions 简单应用
- ADO.NET Entity Framework Extensions 简单应用
- Cancel 方法范例 (VC++/ADO)
- ADO 事件模型范例 (VC++)
- ADO 事件模型范例 (VC++)
- ADO.net - 事务使用范例
- 【Android开发】范例2-实现带图标的ListView
- 【Android开发】范例2-带图标的列表对话框
- Servlet3.0自带的文件上传功能使用范例
- ArrayList 使用简介(带范例)
- 待研究:Trac
- UG二次开发学习进阶帮手——操作录制
- 改造的opengl纹理贴图
- 这周我加星(7)
- 我学汇编之逆向系列---之 for循环
- 带 Extensions 的 ADO 范例
- 老紫竹精确搜索1.02版,增加了SWT聊天功能
- 国家自然基金申请三十六计
- ADO Command 对象
- Flash 游戏设计笔记:鼠标类游戏(4)
- Windows应用程序剖析
- 又开博了
- native2ascii用法解析
- System Dump和Core Dump的区别