gpt4 book ai didi

c++ - 通过 MSADO 获取查询以在 Access 中工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:59:02 24 4
gpt4 key购买 nike

我正在尝试使以下查询中的最后两个起作用,但我只能使第一个起作用。

 querystream << "select Date, C"<<m_ID<<" from Data" <<nTable <<";";

querystream << "select Date, C"<<m_ID<<" from Data" <<nTable <<" where Date >= #DateAdd (\"yyyy\", -1, Now())# ORDER by DATE ASC;";
querystream << "select Date, C"<<m_ID<<" from Data" <<nTable <<" where Date >= #DateAdd (\"yyyy\", -1, #10/09/2012 09:12#)# ORDER by DATE ASC;";

如果你们有任何想法,我将不胜感激,谢谢,詹姆斯

最佳答案

DateAdd() 返回日期/时间值,数据库引擎可以按原样使用它的返回值...因此您不需要包含 # 分隔符。

Date 是保留字。如果您将它用作表中字段的名称,请将其括在方括号中以避免混淆数据库引擎。

" where [Date] >= DateAdd(\"yyyy\", -1, #10/09/2012 09:12#) ORDER by [DATE] ASC;"

对于 DateAdd(),数据库引擎将接受带有间隔参数 (yyyy) 的单引号而不是双引号。我不知道这是否会使 C++ 中的任何事情复杂化,但我会尝试这种方式:

" where [Date] >= DateAdd('yyyy', -1, #10/09/2012 09:12#) ORDER by [DATE] ASC;"

如果您有可用的 Access,我认为您最好使用 Access 查询设计器创建和测试您的查询,然后使用经过验证的 C++ 中的 SQL。

关于c++ - 通过 MSADO 获取查询以在 Access 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12818040/

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