VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 382|回复: 5

[已解决] 记录集只读问题

[复制链接]
38_avatar_middle
online_vip 发表于 2018-4-23 21:09:19 | 显示全部楼层 |阅读模式
本帖最后由 2191265529 于 2018-4-24 12:38 编辑

修改写入使用提示记录集只读,什么情况?
1.jpg




上一篇:自己写的一个自启程序为什么,在运行的时候会出错,求大神帮忙
下一篇:release
51_avatar_middle
online_admins 发表于 2018-4-24 00:10:18 | 显示全部楼层
因为MFC中的数据库类不支持需要连接两个或者多个表的记录集更新,如果选择数据源的时候选择多个表,则记录集的更新操作是禁止的,因为那样使记录集自动具有只读属性,此时该数据库只支持对连接多个表的记录集进行只读访问,而不支持对其进行更新操作。

是不是这个问题?
回复 支持 反对

使用道具 举报

38_avatar_middle
ico_lz  楼主| 发表于 2018-4-24 09:35:12 来自手机 | 显示全部楼层
Syc 发表于 2018-4-24 00:10
因为MFC中的数据库类不支持需要连接两个或者多个表的记录集更新,如果选择数据源的时候选择多个表,则记录 ...

那应该怎么处理才能让程序能够写入?
回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins 发表于 2018-4-24 09:58:57 | 显示全部楼层
2191265529 发表于 2018-4-24 09:35
那应该怎么处理才能让程序能够写入?

ODBC 连接数据源的时候是怎么连接的?选择多个表了吗?
回复 支持 反对

使用道具 举报

38_avatar_middle
ico_lz  楼主| 发表于 2018-4-24 10:57:43 | 显示全部楼层
Syc 发表于 2018-4-24 09:58
ODBC 连接数据源的时候是怎么连接的?选择多个表了吗?

  1. CString CReaderBorrowInfo::GetDefaultConnect()
  2. {
  3.         return _T("ODBC;DSN=library");
  4. }

  5. CString CReaderBorrowInfo::GetDefaultSQL()
  6. {
  7.         return _T("[BOOK],[BORROW]");
  8.         //return _T("SELECT BOOK_NAME, BORROW_DATE, READER_ID FROM BOOK, BORROW WHERE BOOK.BOOK_ID = BORROW.BOOK_ID");
  9. }
复制代码


GetDefaultSQL函数返回了两个表,是这种问题吗?
回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins 发表于 2018-4-24 11:13:54 | 显示全部楼层
2191265529 发表于 2018-4-24 10:57
GetDefaultSQL函数返回了两个表,是这种问题吗?

对,就是这个问题!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-1-17 22:06

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表