fare:=adoq.fieldbyname('farecode').asstring; for i := 0 to afarelist.Count - 1 do
begin
sqlcolumnname := sqlcolumnname + ', sum([' + afarelist[i] + ']) as [' + afarelist[i] + ']';
if afarelist[i]=fare then
sqlcolumnvalue := sqlcolumnvalue + ' ,[' + afarelist[i] + '] = sum(payment) '
else
sqlcolumnvalue := sqlcolumnvalue + ' ,[' + afarelist[i] + '] = 0 ';
end; sqltext := 'select personcode as [姓名] '
+ sqlcolumnname + ' from (select personcode '
+ sqlcolumnvalue + ' from contract where farecode like '''
+ gathertype + '%'' group by personcode,farecode ) t1 group by personcode '; showmessage(sqltext); with AdoqGather do
begin
Close; Sql.Text := sqltext;
Open;
end;
adoq.Free;
end;错误提示是“参数[121]没有默认值” 怎么会这样?
语句出错在“sqlcolumnname := sqlcolumnname + ', sum([' + afarelist[i] + ']) as [' + afarelist[i]”这句
请各位大哥帮忙
我用的数据库是ACCESS
begin
sqlcolumnname := sqlcolumnname + ', sum([' + afarelist[i] + ']) as [' + afarelist[i] + ']';
if afarelist[i]=fare then
sqlcolumnvalue := sqlcolumnvalue + ' ,[' + afarelist[i] + '] = sum(payment) '
else
sqlcolumnvalue := sqlcolumnvalue + ' ,[' + afarelist[i] + '] = 0 ';
end; sqltext := 'select personcode as [姓名] '
+ sqlcolumnname + ' from (select personcode '
+ sqlcolumnvalue + ' from contract where farecode like '''
+ gathertype + '%'' group by personcode,farecode ) t1 group by personcode '; showmessage(sqltext); with AdoqGather do
begin
Close; Sql.Text := sqltext;
Open;
end;
adoq.Free;
end;错误提示是“参数[121]没有默认值” 怎么会这样?
语句出错在“sqlcolumnname := sqlcolumnname + ', sum([' + afarelist[i] + ']) as [' + afarelist[i]”这句
请各位大哥帮忙
我用的数据库是ACCESS
sqltext := 'select personcode as [姓名] '
+ sqlcolumnname + ' from (select personcode '
+ sqlcolumnvalue + ' from contract where farecode like '''
+ gathertype + '%'' group by personcode,farecode ) t1 group by personcode ';
执行到在这里的时候select语句是这样的:select personcode as[姓名],sum([121]) as [121],sum([122]) as [122],sum([123]) as [123],sum([124]) as [124],sum([125]) as [125],sum([126]) as [126] from (select personcode,[121]=0,[122]=0,[123]=0,[124]=0,[125]=0,[126]=0 from contract where farecode like '12%' group by personcode,farecode) group by personcode