CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

记录集提交时出错:缺少更新或刷新的键列信息。

楼主greatplain(蓝屏)2004-09-02 14:53:17 在 VB / 数据库(包含打印,安装,报表) 提问

记录集:  
  ssql   =   "   select   a.*,b.QUE_CODE   "   _  
                    &   "   from   TQ_CATALOG_QUESTION_LIST   a   "   _  
                    &   "   left   join   TQ_QUESTION   b   on   a.QUESTION_ID   =   b.ID   "   _  
                    &   "   and   a.CATALOG_ID   =   "   &   CStr(nCatalogID)  
                    '&   "   order   by   question_serial   "  
  m_rcs_Catalog_Questions.Open   ssql,   m_Conn,   adOpenStatic,   adLockBatchOptimistic,   adCmdText  
  Set   m_rcs_Catalog_Questions.ActiveConnection   =   Nothing  
   
  提交时:  
          m_rcs_Catalog_Questions.Filter   =   0  
          Set   m_rcs_Catalog_Questions.ActiveConnection   =   m_Conn  
          m_rcs_Catalog_Questions.UpdateBatch       '出错:  
  错误描述:缺少更新或刷新的键列信息  
   
  提交时测得各字段值(前三个字段为主键):  
  TOPIC_ID:1|CATALOG_ID:1|QUESTION_ID:1|QUESTION_SCORE:0|QUESTION_SERIAL:1|QUE_CODE:k01z01j01d00b1001|  
  TOPIC_ID:1|CATALOG_ID:1|QUESTION_ID:2|QUESTION_SCORE:0|QUESTION_SERIAL:2|QUE_CODE:k01z01j01d00b1002|  
  TOPIC_ID:1|CATALOG_ID:1|QUESTION_ID:4|QUESTION_SCORE:0|QUESTION_SERIAL:3|QUE_CODE:k01z01j01d00b1004|  
  TOPIC_ID:1|CATALOG_ID:1|QUESTION_ID:3|QUESTION_SCORE:0|QUESTION_SERIAL:4|QUE_CODE:k01z01j01d00b1003|  
   
  急切想找出出错原因 问题点数:0、回复次数:12Top

1 楼RUKYO(蠢蠢的男子汉 - 恋星夜柔光,舔烈酒豪情)回复于 2004-09-02 20:23:52 得分 0

DataGrid的先天缺陷看看这里:  
  http://www.china-askpro.com/msg49/qa51.shtml  
  Top

2 楼greatplain(蓝屏)回复于 2004-09-03 15:41:42 得分 0

不是这个问题  
  我的sql语句也有点问题,应该改为:  
  ssql   =   "   select   a.*,b.QUE_CODE   "   _  
                    &   "   from   TQ_CATALOG_QUESTION_LIST   a   "   _  
                    &   "   left   join   TQ_QUESTION   b   on   a.QUESTION_ID   =   b.ID   "   _  
                    &   "   where   a.CATALOG_ID   =   "   &   CStr(nCatalogID)  
                    '&   "   order   by   question_serial   "  
   
  Top

3 楼RUKYO(蠢蠢的男子汉 - 恋星夜柔光,舔烈酒豪情)回复于 2004-09-03 16:56:47 得分 0

你SQL语句中结果集已经涉及两个表,所以就DataGrid就有这样的出错提示了,以前我也听人家说过DataGrid有这方面问题,我给你上面的链接也说得很清楚了,解决方法是用一个临时工作表存放多表查询的结果,将多表操作转换为单表操作。数据流程如下:    
       
  多表查询→记录集→临时表→录入、修改→存入基本表。    
  Top

4 楼RUKYO(蠢蠢的男子汉 - 恋星夜柔光,舔烈酒豪情)回复于 2004-09-03 16:57:41 得分 0

另外,把你语句单独放在SQL查询分析器里执行下看看结果是不是你期望的。Top

5 楼greatplain(蓝屏)回复于 2004-09-05 12:13:28 得分 0

结果是我期望的  
  我用的也不是datagrid,  
  就是单独的recordset  
  执行m_rcs_Catalog_Questions.UpdateBatch       就出错,  
  最后没法子我就调用m_rcs_Catalog_Questions.Update逐条提交  
  倒也没出错  
  Top

6 楼sangshuyezi(留一点空间去思考)回复于 2004-09-05 12:56:23 得分 0

批处理要将记录集的游标设成客户端的。  
  m_rcs_Catalog_Questions.CursorLocation   =   adUseClientTop

7 楼RUKYO(蠢蠢的男子汉 - 恋星夜柔光,舔烈酒豪情)回复于 2004-09-05 13:30:18 得分 0

 
  可以用这句测试下你   Recordset   对象是否支持特定类型的功能:  
   
  If   m_rcs_Catalog_Questions.Supports(adUpdateBatch)   Then   MsgBox   "Supports"  
   
  Top

8 楼hdhai9451(☆新人类☆)回复于 2004-09-05 13:44:50 得分 0

如果你每次只提交一條記錄,就不要用adLockBatchOptimistic,而應該用adLockOptimisticTop

9 楼greatplain(蓝屏)回复于 2004-09-06 17:10:52 得分 0

to   回复人:   sangshuyezi(桑树叶子)  
  我的连接本来就是adUseClient的,  
  要不然不可能执行   Set   m_rcs_Catalog_Questions.ActiveConnection   =   Nothing  
  to   回复人:   RUKYO(SpeakFool   -   蠢蠢的男子汉)    
  我是以  
  m_rcs_Catalog_Questions.Open   ssql,   m_Conn,   adOpenStatic,   adLockBatchOptimistic,   adCmdText  
  打开的,所以你说着这句当然是返回success  
  Top

10 楼sangshuyezi(留一点空间去思考)回复于 2004-09-09 08:46:47 得分 0

楼主的记录集更新是关联表,如果还没有找到原因,在提交时把它改成只更新一个单表操作试一试。Top

11 楼haohaohappy(50岁以前拿命换钱,50岁以后拿钱换命)回复于 2004-09-09 11:36:59 得分 0

只能把两张表合为一张然后导入DATAGRIDTop

12 楼greatplain(蓝屏)回复于 2004-09-10 09:07:12 得分 0

这些都不是问题的原因阿Top

相关问题

  • 运行Adodc.RecordRet.Delete时出错,错误名为:“缺少更新的或刷新的键列信息”,该怎么办?
  • 急!为什么我这段代码会出错“缺少更新或刷新的键列信息”?
  • 提交后刷新页面
  • 提交刷新好怪
  • 刷新出错(列键信息不足)????
  • 如何刷新老是出错?
  • 提交数据出错,为什么?
  • 提交表单出错。请指教。急。。。
  • 提交按纽多按出错问题
  • 一个刷新和提交的问题!!

关键词

  • 执行
  • code
  • catalog
  • questions
  • 出错
  • k01z01j01d00
  • 记录集
  • rcs
  • 更新
  • que

得分解答快速导航

  • 帖主:greatplain

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo