CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  数据库

关于数据库Open()时出错的一个问题~~~~~~~~

楼主musisonic(柯尔特制造)2004-09-03 19:15:12 在 VC/MFC / 数据库 提问

用access建的一个表,其中一列abc的类型为“备注”,程序中用一个继承自CRecordSet的类对象datab访问该表  
  ,当abc的值小于256个字符的时候程序正常,当abc中有超过255个字符的值时,程序执行到datab.Open()出错,也就是在打开数据库的时候出错,该类用来接受abc列的变量是CString类型的,CString类型的可以存储超过255个字符啊,这是为什么????  
   
  多谢~~~~~~~~~~  
  问题点数:100、回复次数:4Top

1 楼laiyiling(陌生人[MVP])回复于 2004-09-03 20:59:20 得分 60

应该是你定义的继承CRecordSet类出了问题,  
  你试试把.cpp文件的部分代码修改如下:  
  RFX_Text(pFX,   _T("[ChartOrgan]"),   m_ChartOrgan,   2000);   在后面加个数字表示大小Top

2 楼musisonic(柯尔特制造)回复于 2004-09-04 09:19:46 得分 0

继承的时候是用向导继承的,直接就选了CRecordSet为基类,没其他跟多的选择,这样也会出错啊~~`  
   
  Top

3 楼xindao_wang(山中客)回复于 2004-09-04 09:22:44 得分 40

主要是数据交换时出现问题,vc和数据库交换的默认最大字符是256个,  
  函数原型:  
  void   RFX_Text(   CFieldExchange*   pFX,   const   char*   szName,   CString&   value,   int   nMaxLength   =   255,   int   nColumnType   =   SQL_VARCHAR,   short   nScale   =   0   );  
  所以在超过256个时,要手工改变.  
  Top

4 楼musisonic(柯尔特制造)回复于 2004-09-04 09:29:50 得分 0

刚试过了,果然强人啊,已经给分~  
   
  to::xindao_wang(nike),     laiyiling回复的比你早很多,不过你讲的比较清楚~~  
   
  so,给你40分   给laiyiling60,可以吗??Top

相关问题

  • access数据库修复时出错
  • 用Dao打开数据库时,出错
  • 将now()写入数据库时出错?
  • 数据库恢复时出错
  • ANT连Oracle数据库时出错。。。
  • SQL数据库UPDATEROW时出错
  • 救命!!!附加数据库时出错
  • 连接 SQL 数据库时出错
  • 连接 SQL 数据库时出错,
  • 连接数据库时出错啦

关键词

  • 数据库
  • 字符
  • 出错
  • 继承
  • crecordset
  • 类
  • 程序
  • 类型
  • 问题
  • abc

得分解答快速导航

  • 帖主:musisonic
  • laiyiling
  • xindao_wang

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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