急!急!!急!!!C++Builder中如何访问IB中的Date类型数据

z1l3 2003-05-14 09:57:46
我用C++Builder写客户端程序,想通过QUERY访问ib数据库,加入Query中的语句如下:

Select * from FXRBB where X_LOGTIME <='4-03-2003'

CBuilder编译执行后报错;而把该语句直接放到IB中执行则没有问题
...全文
84 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Acquarius 2003-05-15
  • 打赏
  • 举报
回复
你的数据库还是用的SQL DIALECT 1。在D1中不支持DATE/TIME类型。建议备份原数据库,然后恢复成DIALECT 3。

如果不能这么做,那么只能用TIMESTAMP类型。
z1l3 2003-05-14
  • 打赏
  • 举报
回复
AnsiString aa;
aa = "Select * from FXRBB where X_LOGTIME <= CAST(\'4-21-2003\' AS DATE)";
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add(aa);
Query1->Open();
出错提示:

General SQL error.Column unknown X_LOGTIME Client Dialect 1 doesn't support
reference to DATE datatype.

在数据表FXRBB中X_LOGTIME存在且为Date类型
netwolfds 2003-05-14
  • 打赏
  • 举报
回复
那把你的程序和出错信息贴出来看看!
z1l3 2003-05-14
  • 打赏
  • 举报
回复
不是引号的问题,我试过了
netwolfds 2003-05-14
  • 打赏
  • 举报
回复
看看你的程序,可能是引号搞错了!在字符串中的单引号要用两个单引号
mysql:='Select * from FXRBB where X_LOGTIME <=''4-03-2003''';
CuteBit 2003-05-14
  • 打赏
  • 举报
回复
你使用 bde 连接,bde 不支持 Date 类型。(因为 bde 老是使用 Dialect 1 而不是 3).
你改用 IBX 试试。

2,208

社区成员

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

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