ado数据库编程

ado数据库编程

ID:41037088

大小:50.50 KB

页数:12页

时间:2019-08-14

ado数据库编程_第1页
ado数据库编程_第2页
ado数据库编程_第3页
ado数据库编程_第4页
ado数据库编程_第5页
资源描述:

《ado数据库编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、10、邦定数据  定义一个绑定类,将其成员变量绑定到一个指定的记录集,以方便于访问记录集的字段值。  (1).从cadorecordbinding派生出一个类:classccustomrs:publiccadorecordbinding{begin_ado_binding(ccustomrs)ado_variable_length_entry2(3,advarchar,m_szau_fname,sizeof(m_szau_fname),lau_fnamestatus,false)ado_variable_length_entry2(2,advarchar,m_szau_lname,siz

2、eof(m_szau_lname),lau_lnamestatus,false)ado_variable_length_entry2(4,advarchar,m_szphone,sizeof(m_szphone),lphonestatus,true)end_ado_binding()public:charm_szau_fname[22];ulonglau_fnamestatus;charm_szau_lname[42];ulonglau_lnamestatus;charm_szphone[14];ulonglphonestatus;};  其中将要绑定的字段和变量名用begin_ado_

3、binding宏关联起来。每个字段对应于两个变量,一个存放字段的值,另一个存放字段的状态。字段用从1开始的序号表示,如1,2,3等等。  特别要注意的是:如果要绑定的字段是字符串类型,则对应的字符数组的元素个数一定要比字段长度大2(比如m_szau_fname[22],其绑定的字段au_fname的长度实际是20),不这样绑定就会失败。我分析多出的2可能是为了存放字符串结尾的空字符null和bstr字符串开头的一个字(表示bstr的长度)。这个问题对于初学者来说可能是个意想不到的问题。  cadorecordbinding类的定义在icrsint.h文件里,内容是:classcadore

4、cordbinding{public:stdmethod_(constado_binding_entry*,getadobindingentries)(void)pure;};begin_ado_binding宏的定义也在icrsint.h文件里,内容是:#definebegin_ado_binding(cls)public:\typedefclsadorowclass;\constado_binding_entry*stdmethodcalltypegetadobindingentries(){\staticconstado_binding_entryrgadobindingentri

5、es[]={ado_variable_length_entry2宏的定义也在icrsint.h文件里:#defineado_variable_length_entry2(ordinal,datatype,buffer,size,status,modify)\{ordinal,\datatype,\0,\0,\size,\offsetof(adorowclass,buffer),\offsetof(adorowclass,status),\0,\classoffset(cadorecordbinding,adorowclass),\modify},#defineend_ado_bindin

6、g宏的定义也在icrsint.h文件里:#defineend_ado_binding(){0,adempty,0,0,0,0,0,0,0,false}};\returnrgadobindingentries;}   (2).绑定_recordsetptrrs1;iadorecordbinding*picrs=null;ccustomrsrs;......rs1->queryinterface(__uuidof(iadorecordbinding),(lpvoid*)&picrs));picrs->bindtorecordset(&rs);  派生出的类必须通过iadorecordbind

7、ing接口才能绑定,调用他的bindtorecordset方法就行了。  (3).rs中的变量即是当前记录字段的值//setsortandfiltercondition://step4:manipulatethedatars1->fields->getitem("au_lname")->properties->getitem("optimize")->value=true;rs1->sort="au_lnameasc";rs1->f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。