📄 subject_38175.htm
字号:
<p>
序号:38175 发表者:littlepanda 发表日期:2003-05-01 11:03:27
<br>主题:问一个很初级的ODBC的问题
<br>内容:现在想对4个比表进行操作,显示,增加记录,删除记录,查询排序等,各个表之间有关系。是不是应该对4个表分别建立Recordset类,还是有其他的办法,如果是分别建立Recordset类,对于各个类的指针m_pSet,是不是可以直接就对各个记录集操作,不需要考虑其他问题?谁知道希望能告诉我,谢谢!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:金枪鱼 回复日期:2003-05-01 11:38:02
<br>内容:方法是多样的,关键取决你的具体的操作方式和内容。<BR>你可以为每个表基于CRecordset派生一个类,然后构造这个派生类的对象(一般用指针,操作方便些,注意传入打开的数据库指针),如:<BR> C××× *pRs=new C×××(pDb);<BR> ASSERT(pRs!=NULL);<BR> ......//操作条件或者SQL语句<BR> ......//打开记录集<BR> ......//判定是否打开成功<BR> ......//记录集打开成功后进行操作<BR> .......<BR> //操作完毕后关闭、销毁记录集指针,同时避免野指针<BR> pRs->Close();<BR> delete pRs;<BR> pRs=NULL;<BR>//假设数据库对象指针pDb为外部处理的,这里不考虑它的销毁、关闭等问题。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:金枪鱼 回复日期:2003-05-01 11:40:24
<br>内容:方法是多样的,关键取决你的具体的操作方式和内容。<BR>你可以为每个表基于CRecordset派生一个类,然后构造这个派生类的对象(一般用指针,操作方便些,注意传入打开的数据库指针),如:<BR> C××× *pRs=new C×××(pDb);<BR> ASSERT(pRs!=NULL);<BR> ......//操作条件或者SQL语句<BR> ......//打开记录集<BR> ......//判定是否打开成功<BR> ......//记录集打开成功后进行操作<BR> .......<BR> //操作完毕后关闭、销毁记录集指针,同时避免野指针<BR> pRs->Close();<BR> delete pRs;<BR> pRs=NULL;<BR>//假设数据库对象指针pDb为外部处理的,这里不考虑它的销毁、关闭等问题。<BR><BR> 你也可以不用为每个表派生记录集,而只用一个抽象的CRecordset对象的指针来操作<BR> CRecorset *pRs=new CRecordset(pDb);<BR> 但这个记录集指针的具体成员是不确定的,需要你用SQL语句来指定表或者表的复合、查询条件等等。此时操作记录集的字段也没有成员变量了,要使用GetFieldValue()函数等来进行。<BR>2003-5-1 11:42:53
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -