gpt4 book ai didi

sql-server - 如何从 CDBVariant 获取日期?

转载 作者:搜寻专家 更新时间:2023-10-30 23:41:43 24 4
gpt4 key购买 nike

我正在尝试使用 CDBVariant 从 sql server 获取日、月、年,但我无法做到这一点,我的代码如下

我想要的只是以我自己的格式计算日、月、年像这样

3 jan 1990

在我的学生表中,我使用日期类型而不是日期/时间,所以我只想以我自己的格式计算日期,因为我从数据库中获取的日期是年-月-日我想要将其显示为 date-month-year

我无法将 CDBVariant::m_pdate 转换为 ctime

    CDBVariant date; 
rs.GetFieldValue(short(2),date);//

CTime a(date.m_pdate->year, date.m_pdate->month, date.m_pdate->day);

cout << " date is:" << a.GetYear() << endl;
a=NULL; //so the next value can be insert into ctime
rs.MoveNext(); // move to next tuple in table
}

我将 CTime 设置为 NULL,以便可以插入下一个值,因为 ctime 第一次显示正常,但之后它开始添加它不知道为什么我想要的只是从数据库中获取日期并计算它。

最佳答案

CDBVariant 转换为 COleDateTime 的正确方法如下:

CDBVariant var;

if(var.m_dwType == DBVT_DATE)
{
COleDateTime timestamp(var.m_pdate->year,var.m_pdate->month,var.m_pdate->day,
var.m_pdate->hour,var.m_pdate->minute,var.m_pdate->second);
CString str = timestamp.Format(_T("%B %d, %Y"));
}

关于sql-server - 如何从 CDBVariant 获取日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34277163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com