VC数据库开发日记5: CSTring和COleDateTime相互转化
2008-02-29 13:33
441 查看
记录集读到ACCESS数据库有时间字段的时,最终涉及到窗体显示的时候,总是会涉及到CString
这种变量,这次开发人事管理部分时也碰到了这样的问题。Ok , 开始:
从CString 到 COleDateTime
CString strCstr = “2007-10-11”;
COleVariantTime Vt;
Vt =strCstr ;
Vt.ChangeType(VT_DATE);
COleDateTime Data =Vt;
还有一点就是显示的问题,总不能把 05-12-2007 之类的格式显示在文本框上吧?估计很多人绝对不习惯,那就利用CString 的Fromat 函数了,的确强大!
如:
CString strJcrq = hrt.Jcrq.Format(“%Y-%m-%d”);
Y 是年,m是月,d是日,大小写也很重要,否则最终就变得怪怪的。 最终也是试出来的,MSDN也不是没查,
看了半天不是很懂,没有我需要的东西。好在CString 应该有自己的转化函数吧,
Format 这个函数最后起了作用可以显示成: 以CString 类型的“2007-10-15” 之类的形式。
看起来问题是解决了,但是忽然发现在读数据库表中,时间类型读出来是-variant_t 类型的,如果只是显示的话,不必把它转化成ColeDateTime,只需要:
CString strValue;
_variant_t var;
var = pRset->GetCollect((_variant_t)strZD);
if (var.vt != VT_NULL)
{
strValue = (LPCSTR)_bstr_t(var);
}
else if(var.vt != VT_EMPTY)
{
strValue = "";
}
else
{
strValue = "";
}
实际上strValue 就可以了,它能完全正确的显示时间。(解决这个花了我不少时间,有时合乎思维的也许不符合实际呢,上面这个完全没有中间的ColeDateTime,嘛反正之是显示数据。 )
这种变量,这次开发人事管理部分时也碰到了这样的问题。Ok , 开始:
从CString 到 COleDateTime
CString strCstr = “2007-10-11”;
COleVariantTime Vt;
Vt =strCstr ;
Vt.ChangeType(VT_DATE);
COleDateTime Data =Vt;
还有一点就是显示的问题,总不能把 05-12-2007 之类的格式显示在文本框上吧?估计很多人绝对不习惯,那就利用CString 的Fromat 函数了,的确强大!
如:
CString strJcrq = hrt.Jcrq.Format(“%Y-%m-%d”);
Y 是年,m是月,d是日,大小写也很重要,否则最终就变得怪怪的。 最终也是试出来的,MSDN也不是没查,
看了半天不是很懂,没有我需要的东西。好在CString 应该有自己的转化函数吧,
Format 这个函数最后起了作用可以显示成: 以CString 类型的“2007-10-15” 之类的形式。
看起来问题是解决了,但是忽然发现在读数据库表中,时间类型读出来是-variant_t 类型的,如果只是显示的话,不必把它转化成ColeDateTime,只需要:
CString strValue;
_variant_t var;
var = pRset->GetCollect((_variant_t)strZD);
if (var.vt != VT_NULL)
{
strValue = (LPCSTR)_bstr_t(var);
}
else if(var.vt != VT_EMPTY)
{
strValue = "";
}
else
{
strValue = "";
}
实际上strValue 就可以了,它能完全正确的显示时间。(解决这个花了我不少时间,有时合乎思维的也许不符合实际呢,上面这个完全没有中间的ColeDateTime,嘛反正之是显示数据。 )
相关文章推荐
- VC++中,CString,in,char,等数据类型的相互转化
- VC++中,CString,in,char,等数据类型的相互转化
- VC数据库开发日记6: ACCESS中时间类型的查询和正确显示
- vc数据库开发日记1
- VC++下“CString”与“char *”的相互转化
- vc数据库开发日记2
- VC数据库开发日记4:MFC框架下的全局变量的临时解决方案
- VC++中,CString,in,char,等数据类型的相互转化
- VC数据库开发日记3: MSHFlexGrid 条纹样式显示
- 更改口令的界面的开发 (VC和数据库应用)
- vc++中利用ado和listcontrol控件进行数据库应用开发的一点总结
- VC编程CString、int、string、char*相互转换
- 关于文档或pdf或网页和数据库的相互转化的方法
- VC++数据库开发技术的比较
- ios开发中object-c中UTF-8 和 GBK 的 NSString 相互转化的方法
- VC中类型的相互转化
- CString/string/char*/char[]/int/float相互转化
- VC开发数据库基础之ADO篇
- 收藏的 VC数据库开发
- VC++数据库开发