大家好,我编写了以下代码:
var
VYear:String;
begin
VYear:=Trim(Edit1.Text)
if StrToInt(VYear)>1949 then
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select month(销售时间)as Tmonth,Sum(销售金额)as TMoney');
SQL.Add('from 销售数据表 where (year(销售时间)='+VYear+')');
SQL.Add('group by 销售时间');
open;
end;
form12.show;
end;end;但运行时出现以下错误:(光标在IF语句处)
[Error] dateanalys.pas(67): Missing operator or semicolon
[Error] dateanalys.pas(79): Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'请问是怎么回事呢,好象没缺少参数吧?我在做毕业设计,很急,大家帮帮忙哦,谢了!
var
VYear:String;
begin
VYear:=Trim(Edit1.Text)
if StrToInt(VYear)>1949 then
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select month(销售时间)as Tmonth,Sum(销售金额)as TMoney');
SQL.Add('from 销售数据表 where (year(销售时间)='+VYear+')');
SQL.Add('group by 销售时间');
open;
end;
form12.show;
end;end;但运行时出现以下错误:(光标在IF语句处)
[Error] dateanalys.pas(67): Missing operator or semicolon
[Error] dateanalys.pas(79): Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'请问是怎么回事呢,好象没缺少参数吧?我在做毕业设计,很急,大家帮帮忙哦,谢了!
少了分号
少个分号,应该为
VYear:=Trim(Edit1.Text);
少个分号
VYear:=Trim(Edit1.Text);
但运行时又出现了提示:“SELECT子句中包含一个保留字,拼写错误或丢失的参数,或标点符号不正确”。麻烦大家帮我检查一下SELECT语句错在哪了,谢谢!
改为
SQL.Add('from 销售数据表 where (year(销售时间)='''+VYear+''')');看时间字段的类型了
一般不要使用中文做表名、字段名,用[]括起它们保险一点,如:
SQL.Add('from [销售数据表] where (year([销售时间])='''+VYear+''')');