回 帖 发 新 帖 刷新版面

主题:使用Query控件查询日期为 2005-10-20的纪录

数据库中内容:
Machine                 CalibrationDate
RRT-01                2005-10-20
RRT-02                2005-10-20
RRT-03                2005-11-20

使用Query控件查询日期为 2005-10-20
记录,用TDBgrid 控件显示

使用如下代码出错,请问应如何更正?

Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("Select * from calibration");
Query1->SQL->Add("where CalibrationDate like ‘2005-10-20’");
Query1->Open();

回复列表 (共6个回复)

沙发

使用的是什么数据库?ACCESS吗?如果是,则SQL条件语句应该为
"where CalibrationDate = #2005-10-20#"

板凳

用的是c++ builder 自带的数据库。
日期前加#也不行。

3 楼

1、报的什么错

2、为什么不写到一个语句里?

3、为什么用 like ?

4、你在 BDE 里(不知道你是不是用的BDE)能正常查询出你的数据吗?

4 楼

试了一下,好像这样应该可以的

Query1->SQL->Add("Select * from calibration where CalibrationDate like '2005-10-20'");

5 楼

Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("Select * from calibration     "); //SQL语句末尾与下一句之间应该有空格.
Query1->SQL->Add("where CalibrationDate like ‘2005-10-20’"); //用Like时,通常要用上'%'.
Query1->Open();

6 楼

以上方法都是过都不行!
不知什麽原因。

我来回复

您尚未登录,请登录后再回复。点此登录或注册