程序继承CRecordView,访问数据库
1、是不是一个CRecordView自能绑定一个表,如果多个表如何操作
2、自己新建了一个CRecordSet,但是执行里面的数据库操作,如MoveFirst()都会出现错误:
First-chance exception in ODBC.exe (ODBC32.DLL): 0xC0000005: Access Violation.
请问新建一个CRecordSet,在vc中绑定odbc数据源和表后,还需要什么操作,用Open也出现错误
1、是不是一个CRecordView自能绑定一个表,如果多个表如何操作
2、自己新建了一个CRecordSet,但是执行里面的数据库操作,如MoveFirst()都会出现错误:
First-chance exception in ODBC.exe (ODBC32.DLL): 0xC0000005: Access Violation.
请问新建一个CRecordSet,在vc中绑定odbc数据源和表后,还需要什么操作,用Open也出现错误
解决方案 »
- VC断点调试的问题
- 谁能够提供一个SAFEARRAY的 例子?
- 关于CComboBoxEx的问题
- 极其郁闷的问题,在ASP中先调用过的组件在另一个组件中调用就会堵塞
- 如何截获ALT+F4组合键?
- 网络安全:网络行为监控问题
- 问:写个小程序,让计算机在规定的时间强行关闭,该调用什么函数?
- 各位都是用什么书入的门啊,听说vc++编程内幕入门用不错,是真的吗?
- 请高手指点一下,VC中用OleLoadPicture装载从网页中保存到内存中的图片时失败
- 要做毕业设计了,想用VB做点关于COM/DCOM的东西,大家可以提供一些建议和资料吗?见者有分
- 关于vc操作excel宏的操作
- 请同行朋友帮忙给我的宝贝儿子起个名,参与都有分哈~
2.CRecordSet等是否初始化,创建是否成功..
2、我自己新建一个类继承CRecordSet,按照VC的设置绑定了数据源和表,
然后和CRecordView默认创建的CRecordSet一样设置,先是定义CMyRecordSet* m_pRecordSet;
在构造函数中m_pRecordSet=NULL;然后在初始化中m_pRecordSet=&GetDocument()->m_oDBRecordSet;
而一个CRecordset记录集可以处理不止一个表,能够处理多个表。所以CRecordView类能
处理多个表,主要是借助于CRecordset类2.绑定odbc数据源和表后,其他的操作就是查询,删除等这些也不会出现那个错误啊,还不清楚怎么回事
确定下此时的m_pRecordSet是否为空
ASSERT(m_pRecordSet != NULL);
但是调用m_pRecordSet->MoveFirst()就出错了has exited with code 0 (0x0).
GetStatus()如果当前记录索引号为0就不再使用MoveFirst()函数了虽然这里的m_pRecordSet指针不为空,但是使用指针的时候要特别注意,
这里的m_pRecordSet=&GetDocument()->m_oDBRecordSet;
获取的m_pRecordSet就是指向当前记录集的指针
既然m_pRecordSet->Open()函数也出错的话,改用对象是,不用指针试试。
还有第二个问题,用CRecordSet创建的时候必须选择ODBC数据源和表
在程序使用的时候需要访问多个表的时候如何处理?
CMyRecordSet test;
test.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from IDstudent");
出现错误:Open() 无效的描述器索引
CMyRecordSet test;
test.Open(CRecordset::forwardOnly,"select * from IDstudent");
出现错误:无效的字符值或规格 在列名3
获取的m_pRecordSet很可能不是指向当前记录集的指针 ,导致出错
但他也不为空。
使用CRecordset类访问多个表和访问一个表类似,在创建自己的
类继承于CRecordset类,添加表的时候选择多个表就可以了
可以看到的在自己的类中的
CString CXXXRecordset::GetDefaultSQL()
{
return _T("[XXX1],[XXX2]");//表1表2
}这两个表的所有字段都会写在
DoFieldExchange(CFieldExchange* pFX)下其实处理多个表和处理单个表类似,通过引用相应的字段操作某个表
在操作过程中可能需要一些判断
问题解决了,
有没有好的数据方面的书推荐一下
Visual C++数据库开发基础与应用
周启涛, 高英 人民邮电出版社 Visual C++数据库系统开发完全手册
这个比较核心,也是人民邮电的