我想用c++从access数据库中取出日期类型,转化成字符串?求助

flyRaccoon 2004-12-16 04:21:23
我想用c++从access数据库中取出日期类型,转化成字符串?

COleDateTime t = pRs->GetCollect("time").date;
strTime = t.Format(" %Y-%m-%d %H:%M");
这是MFC中的用法

而现在程序不能包含MFC类,用什么方法能得到日期字符串
最后结果要赋值给一个std::string strTime变量
...全文
242 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyRaccoon 2005-05-16
  • 打赏
  • 举报
回复
ADO方式,主要代码


#import "c:\program files\common files\system\ado\msado15.dll" \
rename("EOF","adoEOF")


CoInitialize(NULL);

TCHAR szBuffer[512];
wsprintf(szBuffer,"Provider=Microsoft.Jet.OLEDB.4.0;\
Data Source= myDB.mdb");


try
{
HRESULT hr = m_pDBConn.CreateInstance(_uuidof(ADODB::Connection));
hr = m_pDBConn->Open(szBuffer,"","",-1);
}

catch(...)
{
return LOTT_OPENDATABASE_ERROR;
}

return 0;




------------------------------------------------
std::string strSQL;
strSQL = "select *,format(time,'yyyy-mm-dd hh:mm:00') as strTime from table where flag=0";

ADODB::_ConnectionPtr pDBConn;
pDBConn =GetDBConn();


ADODB::_RecordsetPtr pRs;
try
{
pRs.CreateInstance(__uuidof(ADODB::Recordset));
pRs->Open(strSQL.c_str(),\
pDBConn.GetInterfacePtr(),ADODB::adOpenDynamic,ADODB::adLockOptimistic,ADODB::adCmdText);
}
catch(...)
{
return ERROR;
}
5420 2005-05-15
  • 打赏
  • 举报
回复
请问楼主是怎么连接ACCESS的?问了一个不相关的问题,不好意思,谢谢了!
flyRaccoon 2004-12-17
  • 打赏
  • 举报
回复
我已采用下面思路先解决这一问题,也希望还有更简便的方法

换个思路,直接从ACCESS中取得string型的日期字符串
select format(myDate,'yyyymmdd') from yourTable
flyRaccoon 2004-12-17
  • 打赏
  • 举报
回复
继续等待好人的帮助。。。
flyRaccoon 2004-12-16
  • 打赏
  • 举报
回复
因为程序主要部分都写好,所以不好改其他访问数据库方法
oyljerry 2004-12-16
  • 打赏
  • 举报
回复
ODBC访问数据库
flyRaccoon 2004-12-16
  • 打赏
  • 举报
回复
xuzheng318(forever C++) 的回复我看不太明白

但我感觉你理解错了,因为在access数据库中日期型是用double类型存贮的
取出来的不是'1987/05/02' 形式
flyRaccoon 2004-12-16
  • 打赏
  • 举报
回复
请问irvine007(┣━┫Rvine) :

ATL库有COleDateTime

请问包含什么头文件

我使用访问数据库的方法是ado
pRs->GetCollect("time").date用这个语句取日期类型
xuzheng318 2004-12-16
  • 打赏
  • 举报
回复
//1
date('1987/05/02' ) = ..
//2
datepart( year , '1987/05/02' ) = .. and datepart( month , '1987/05/02' ) = .. and datepart( day , '1987/05/02' ) = ..
//3
convert
//4
cast
//5
year() = ..and month()=.. and day()=..
or ...
jsblcg 2004-12-16
  • 打赏
  • 举报
回复
how about ODBC?
Ji秋风 2004-12-16
  • 打赏
  • 举报
回复
ATL库也有COleDateTime,未必一定要使用mfc的东西。
对于如何获得日期字符串还后转化成字符串,这要看
你使用什么技术来访问数据,odbc,ado,因为各种技
术提供的接口也都不一样。
我不知道你现在程序使用了什么库来开发的,如果用
到了组件,我推荐还是使用atl来解决问题吧。
flyRaccoon 2004-12-16
  • 打赏
  • 举报
回复
谢谢帮顶,下班前,在线等待。。。
xmanvictor 2004-12-16
  • 打赏
  • 举报
回复
不知道,帮顶一下
nicolas 2004-12-16
  • 打赏
  • 举报
回复
呵呵。

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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