社区
数据库
帖子详情
为什么?
doublesword
2003-08-21 04:34:06
我是想把一个数据表(RecordSet)中具有条件
if(var.pbVal==strName)
的数据复制到另外一个具有相同结构的数据表(addRS)中,
在调试过程中出现这样的问题:
1.语句从while开始执行,第一次执行断点位置时候
即:RecordSet.GetFieldValue("日期",var);
没有任何问题
2.第二次执行断点位置时候出现图中弹出的对话框
请问这是什么原因?
...全文
52
6
打赏
收藏
为什么?
我是想把一个数据表(RecordSet)中具有条件 if(var.pbVal==strName) 的数据复制到另外一个具有相同结构的数据表(addRS)中, 在调试过程中出现这样的问题: 1.语句从while开始执行,第一次执行断点位置时候 即:RecordSet.GetFieldValue("日期",var); 没有任何问题 2.第二次执行断点位置时候出现图中弹出的对话框 请问这是什么原因?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
doublesword
2003-08-22
打赏
举报
回复
应该不是字符串比较的问题,这个是可以比较的,我以前用的,而且我把比较去掉一样的出错。下面,是代码:
COleVariant var;
while(!RecordSet.IsBOF())
{
RecordSet.GetFieldValue("日期",var); //出错行
if(var.pbVal<strName)
break;
else if(var.pbVal==strName)
{
addRS.AddNew();
for(i=0;i<count;i++)
{
RecordSet.GetFieldValue(i,var);
addRS.SetFieldValue(i,var);
}
addRS.Update();
}
RecordSet.MoveNext();
}
出错信息:
Unhandlede exception in Second.exe(KERNEL32.DLL):0xE06D7363:Microsoft C++ Exception.
另外还有一个相关的问题,如下:
COleVariant var;
RecordSet.Edit();
var.intVal=20;
RecordSet.SetFieldValue("上行衰减值",var); //出错行
...
RecordSet.Update();
出错信息:
Unhandlede exception in Second.exe(OLEAUT32.DLL):0xC0000005:Access Violation.
doublesword
2003-08-22
打赏
举报
回复
没有人知道吗?
vcforever
2003-08-21
打赏
举报
回复
应该比较字符串!
bager
2003-08-21
打赏
举报
回复
同意 dz_w(快乐之星) 。
如果strName为CString 类型的对象,还可以使用CString 类的Compare成员函数,如下:
CString s1( "abc" );
CString s2( "abd" );
ASSERT( s1.Compare( s2 ) == -1 ); // Compare with another CString.
ASSERT( s1.Compare( _T("abe" ) ) == -1 ); // Compare with LPTSTR string.
farfh
2003-08-21
打赏
举报
回复
用lstrcmp也成,呵呵
dz_w
2003-08-21
打赏
举报
回复
if(var.pbVal==strName)改为
if(::strcmp(var.pbVal, strName) == 0)
pbVal是unsigned char *型,直接用 == 是指针的比较,另外使用时注意分配内存
面向对象分析与设计
本课程介绍软件设计理念、方法,帮助学员成长为优秀的软件设计师!当学员完成了Java等语言的学习之后,或者从事 软件开发一段时间之后,...为什么? 这样的软件系统能够承受今后需求的不断变更吗? 想学的话一起来吧!
创建线程有几种不同的方式?你喜欢哪一种?为什么?
为什么? 有三种方式可以用来创建线程: 继承 Thread 类 实现 Runnable 接口 应用程序可以使用 Executor 框架来创建线程池 实现 Runnable 接口这种方式更受欢迎,因为这不需要继承 Thread 类。在应用设计...
操作系统-若系统中没有运行进程,是否一定没有就绪进程?为什么?
若系统中没有运行进程,是否一定没有就绪进程?为什么? 是。因为若系统中没有运行进程,那么系统很快会选择一个就绪进程运行。只有就绪队列中无进程时,CPU才可以处于空闲状态。 ...
2021-05-13 Redis面试题 Redis集群会有写操作丢失吗?为什么?
Redis集群会有写操作丢失吗?为什么? Redis并不能保证数据的强一致性,这意味这在实际中集群在特定的条件下可能会丢失写操作。
你是如何调用 wait()方法的?使用 if 块还是循环?为什么?
为什么?(答案) wait() 方法应该在循环调用,因为当线程获取到 CPU 开始执行的时候,其他条件可能还没有满足,所以在处理前,循环检测条件是否满足会更好。下面是一段标准的使用 wait 和 notify 方法的代码: ...
数据库
4,012
社区成员
39,817
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章