VC++ 在XP下用VC6.0编的程序 exe 文件在XP上运行正常,但是在WIN10、WIN7上就出现错误:File:timecore.cpp Line:34

m0_37169319 2016-12-26 04:42:53
我的程序用到了,把数据库中的日期时间读入编辑框控件

#pragma warning (push)
#pragma warning (disable: 4127) // conditional expression constant

ATLENSURE( nYear >= 1900 );
ATLENSURE( nMonth >= 1 && nMonth <= 12 );//中断后跳到这一行
ATLENSURE( nDay >= 1 && nDay <= 31 );
ATLENSURE( nHour >= 0 && nHour <= 23 );
ATLENSURE( nMin >= 0 && nMin <= 59 );
ATLENSURE( nSec >= 0 && nSec <= 59 );
下面是从列表控件获取字符串类型的时间,列表中的时间来自数据库。然后把时间填充到日期、时间控件中
CString time1=m_listDisp.GetItemText(i,4);
sscanf(time1, "%d-%d-%d %d:%d:%d", &nYear, &nMonth, &nDate, &nHour, &nMin, &nSec);

CTime strTakeoffDate(nYear, nMonth, nDate, 0, 0, 0);
CTime strTakeoffTime(nYear, nMonth, nDate, nHour, nMin, nSec);

m_TakeoffDate = strTakeoffDate;//把日期填入控件
m_TakeoffTime = strTakeoffTime;//时间填入控件
不知道问题出在哪里,数据库里的日期都是合法日期
图片是日期的控件和时间的控件
...全文
1110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_37169319 2016-12-26
  • 打赏
  • 举报
回复
问题解决了。VC6.0里面日期格式和WIN10里面vs的不一样。 VC6.0 2016-1-1 到WIN10下面变成了2016/1/1 谢谢各位答主!!!
m0_37169319 2016-12-26
  • 打赏
  • 举报
回复
数据库里的时间是这么存的:2017/1/1 21:00:00 想实现 第一个时间控件获取日期:2017-1-1 第二个获取时间:21:00:00
oyljerry 2016-12-26
  • 打赏
  • 举报
回复
先打印出来获取的日期信息是什么
  • 打赏
  • 举报
回复
断点调试看看每个变量的值是多少不就明白了

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧