⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdmscvcextensionsheaderindetail.htm

📁 ADO使用手册,非常详细
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML dir=ltr>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=gb2312"><title>VC++ Extensions 头文件的详细资料</title>
<style>@import url(msdn_ie4.css);</style>
</HEAD>
<BODY>
<h2><a name="mdmscvcextensionsheaderindetail"></a>VC++ Extensions 头文件的详细资料</h2>
<p><a href="dir.htm">目录</a></p>
<p>
下列头文件 (icrsint.h) 详细说明了允许客户提取一行数据并直接送至类数据成员的接口。客户程序需要在其类中包含绑定条目,以指定 <b>Recordset Field </b>对象和类数据成员之间的关联。</p>
<pre>#ifndef _ICRSINT_H_
#define _ICRSINT_H_#include &lt;olectl.h&gt;
#include &lt;stddef.h&gt;// forwards
class CADORecordBinding;#define classoffset(base, derived) \
   ((DWORD)(static_cast&lt;base*&gt;((derived*)8))-8)enum FieldStatusEnum
{   
   adFldOK = 0,
   adFldBadAccessor = 1,
   adFldCantConvertValue = 2,
   adFldNull = 3,
   adFldTruncated = 4,
   adFldSignMismatch = 5,
   adFldDataOverFlow = 6,
   adFldCantCreate = 7,
   adFldUnavailable = 8,
   adFldPermissionDenied = 9,
   adFldIntegrityViolation = 10,
   adFldSchemaViolation = 11,
   adFldBadStatus = 12,
   adFldDefault = 13
};typedef struct stADO_BINDING_ENTRY
{
   ULONG         ulOrdinal;
   WORD         wDataType;
   BYTE         bPrecision;
   BYTE         bScale;
   ULONG         ulSize;
   ULONG         ulOffSet;
   ULONG         ulIADOBindingEntriesOffSet;
   ULONG         ulFldStatusOffset;
   BOOL         fModify;
} ADO_BINDING_ENTRY;#define BEGIN_ADO_BINDING(cls) public: \
   typedef cls ADORowClass; \
   const ADO_BINDING_ENTRY* STDMETHODCALLTYPE GetADOBindingEntries() { \
   static const ADO_BINDING_ENTRY rgADOBindingEntries[] = { #define ADO_FIXED_LENGTH_BINDING_ENTRY(Ordinal, DataType, Buffer, \   Status, Modify)\
   {Ordinal, \
   DataType, \
   0, \
   0, \
   0, \
   offsetof(ADORowClass, Buffer), \
   classoffset(CADORecordBinding, ADORowClass), \
   offsetof(ADORowClass, Status), \
   Modify},#define ADO_NUMERIC_BINDING_ENTRY(Ordinal, DataType, \
   Buffer, Precision, Scale, Status, Modify)\
   {Ordinal, \
   DataType, \
   Precision, \
   Scale, \
   0, \
   offsetof(ADORowClass, Buffer), \
   classoffset(CADORecordBinding, ADORowClass), \
   offsetof(ADORowClass, Status), \
   Modify},#define ADO_VARIABLE_LENGTH_BINDING_ENTRY(Ordinal, DataType, \
   Buffer, Size, Status, Modify)\
   {Ordinal, \
   DataType, \
   0, \
   0, \
   Size, \
   offsetof(ADORowClass, Buffer), \
   classoffset(CADORecordBinding, ADORowClass), \
   offsetof(ADORowClass, Status), \
   Modify},#define END_ADO_BINDING() {0, adEmpty, 0, 0, 0, 0, 0, adFldOK, FALSE}};\
   return rgADOBindingEntries;}//
// 客户端“record”类需要支持的接口。
// ADO 绑定条目提供执行该接口。 
//
class CADORecordBinding
{
public:
   STDMETHOD_(const ADO_BINDING_ENTRY*, GetADOBindingEntries) 
   (VOID) PURE;
};//
// 接口允许客户程序获取数据记录并传递给类数据成员。
//
DEFINE_GUID(IID_IADORecordBinding, 
            0x00000544, 0, 0x10, 0x80,0,0,0xAA,0,0x6D,0x2E,0xA4);
DECLARE_INTERFACE_(IADORecordBinding, IUnknown)
{
public:
   STDMETHOD(BindToRecordset)(CADORecordBinding *pAdoRecordBinding)PURE;
   STDMETHOD(AddNew)(CADORecordBinding *pAdoRecordBinding) PURE;
   STDMETHOD(Update)(CADORecordBinding *pAdoRecordBinding) PURE;
};#endif // !_ICRSINT_H_</pre>
<center> <A HREF="http://www.51windows.Net">www.51windows.Net</A></center>
<SCRIPT LANGUAGE="JavaScript" src="/log/sitelog2.asp"></SCRIPT>
<script src="script.js"></script></BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -