Delphi7中Paradox数据库的问题 20
我的数据表中有“日期”一列(AffDate),程序功能是在数据库中取得本年的相关数据。varYear,Month,Day:Word;beginwithqeyShowdob...
我的数据表中有“日期”一列(AffDate),程序功能是在数据库中取得本年的相关数据。
var
Year,Month,Day:Word;
begin
with qeyShow do begin
close;
{清空SQL}
SQL.Clear;
{获得年数,月份数}
DecodeDate(mc.Date,Year,Month,Day);
{添加SQL}
SQL.Add('SELECT UserName,AffDetail,How,AffDate FROM detail.db WHERE EXTRACT(YEAR FROM AffDate)=:d ORDER BY AffDate');
{添加SQL参数}
qeySHow.ParamByName('d').AsString:=IntToStr(Year);
qeyShow.Open;
qeyShow.Active:=true;
end;
其中SQL语句'SELECT UserName,AffDetail,How,AffDate FROM detail.db WHERE EXTRACT(YEAR FROM AffDate)=:d ORDER BY AffDate';
EXTRACT(YEAR FROM AffDate)是paradox内置函数,用于取得AffDate中的年份数,我把参数d打印出来,的确是取得了年数2010,但是数据库报错:相关类型不匹配。我在Database Desktop中运行SQL语句
'SELECT UserName,AffDetail,How,AffDate FROM detail.db WHERE EXTRACT(YEAR FROM AffDate)=2010 ORDER BY AffDate'
可以正确查询。但是放到程序里就不行。
Paradox实在是太老了,网上的相关资料很少,而我又不得不使用这个数据库。希望高手们给个解答,谢谢谢谢,能解决的话我给100分,万分感谢 展开
var
Year,Month,Day:Word;
begin
with qeyShow do begin
close;
{清空SQL}
SQL.Clear;
{获得年数,月份数}
DecodeDate(mc.Date,Year,Month,Day);
{添加SQL}
SQL.Add('SELECT UserName,AffDetail,How,AffDate FROM detail.db WHERE EXTRACT(YEAR FROM AffDate)=:d ORDER BY AffDate');
{添加SQL参数}
qeySHow.ParamByName('d').AsString:=IntToStr(Year);
qeyShow.Open;
qeyShow.Active:=true;
end;
其中SQL语句'SELECT UserName,AffDetail,How,AffDate FROM detail.db WHERE EXTRACT(YEAR FROM AffDate)=:d ORDER BY AffDate';
EXTRACT(YEAR FROM AffDate)是paradox内置函数,用于取得AffDate中的年份数,我把参数d打印出来,的确是取得了年数2010,但是数据库报错:相关类型不匹配。我在Database Desktop中运行SQL语句
'SELECT UserName,AffDetail,How,AffDate FROM detail.db WHERE EXTRACT(YEAR FROM AffDate)=2010 ORDER BY AffDate'
可以正确查询。但是放到程序里就不行。
Paradox实在是太老了,网上的相关资料很少,而我又不得不使用这个数据库。希望高手们给个解答,谢谢谢谢,能解决的话我给100分,万分感谢 展开
1个回答
展开全部
肯定是拼错了呗,单步跑完拼SQL语句那行看看到底多什么少什么了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询