|
用Delphi的思想初步构建C++的ADO对象 其实名字起的太大了,哈哈,大家有没有在写数据库的时候老是需要try,catch,觉得很麻烦呢?我可受不了啊。但是没怎么写下去,一是对VC的ADO不了解,二是没时间。我把写的一些代码贴上来,有兴趣的人自己看下去。我懒得多解释了。贴上来等以后自己也可以看看。 看我的几个类吧。 #define READ_ONLY 1 #define WRITE_ONLY 2 #define READ_WRITE 3 template<typename Container, typename ValueType, int nPropType> class CProperty { public: CProperty() { m_cObject = NULL; Set = NULL; Get = NULL; } //设置属性所在的对象指针 void setContainer(Container* cObject) { m_cObject = cObject; } //设置set指针,用来修改属性用 void setter(void (Container::*pSet)(ValueType value)) { if((nPropType == WRITE_ONLY) || (nPropType == READ_WRITE)) Set = pSet; else Set = NULL; } //设置get指针,用来读取属性用 void getter(ValueType (Container::*pGet)()) { if((nPropType == READ_ONLY) || (nPropType == READ_WRITE)) Get = pGet; else Get = NULL; } //重载=操作符,用于实现这样的操作 CAdoConnection.Connected = TRUE; //注意CAdoConnection.Connected其实是一个CProperty的对象 //属性的实现关键在于重载=操作符和隐式转换操作符 //重载后调用CProperty的拥有者的get、set函数来达到目的 ValueType operator =(const ValueType& value) { assert(m_cObject != NULL); assert(Set != NULL); (m_cObject->*Set)(value); return value; } [1] [2] [3] [4] [5] 下一页 [VB.NET程序]ADO 在informix的 Addnew [VB.NET程序]ADO 的测试 [VB.NET程序]ADO 揭密 1 [Web开发][ADO]如何修改ADO的线程模型 [Web开发]Delphi7下仿Ado.Net类的实现 [Web开发]通过COM使用ADO [Web开发]ADO & ADO.NET中使用存储过程的两个共用的函数 [Web开发]Binding a DataGrid to an ADO Recordset [Web开发]ADOCE for ADO Programmers [Web开发]Delphi多线程下的ADO编程
|