我正在使用CODBCRecordset(在CodeProject上找到的类)在具有39列的表中查找单个记录。如果没有找到记录,那么对CRecordset :: Open的调用就可以了。如果一条记录符合条件,那么当调用CRecordset :: Open时,会出现Out of Memory异常。我选择查询中的所有列(如果我更改查询以仅选择具有相同where子句的列中的一个,则不会有例外)。当从MySQL中选择LONGTEXT列时,在CRecordset中出现“内存不足”异常
我认为这是由于CRecordset的一些限制,但我找不到任何限制。该表只有39列。
有没有人遇到这个问题?如果是这样,你有解决方案吗?
这是一个使用Visual Studio 6.0的MFC项目,如果它有任何区别的话。
这里的查询(此格式,因此沃尔德显示不使用滚动条):
SELECT `id`, `member_id`, `member_id_last_four`, `card_number`, `first_name`, `mi`, `last_name`, `participant_title_id`, `category_id`, `gender`, `date_of_birth`, `address_line_1`, `address_line_2`, `city`, `state`, `zip`, `phone`, `work_phone`, `mobile_phone`, `fax`, `email`, `emergency_name`, `emergency_phone`, `job_title`, `mail_code`, `comments`, `contract_unit`, `contract_length`, `start_date`, `end_date`, `head_of_household`, `parent_id`, `added_by`, `im_active`, `ct_active`, `organization`, `allow_members`, `organization_category_id`, `modified_date` FROM `participants` WHERE `member_id` = '27F7D0982978B470C5CF94B1B833CC93F997EE23'
复制并粘贴到我的查询浏览器给我只有一个结果。
更多信息:
注释掉select语句中除id以外的每一列。执行查询并且不会例外。
然后,我系统地通过并取消注释每一列,然后在每个取消注释之间重新运行查询。
当我取消注释评论列,然后我得到错误。
这被定义为以下(使用MySQL):LONGTEXT
是的。然后,当我通过代码进行调试时,它会在CODBCRecordset :: Open函数的CRecordset :: Open命令中引发异常。 – 2008-12-02 06:22:38