我写了一段自动生成编号的程序如下:
function TF_EpIqSyHCV.GetUniID(FieldName:string;TableName:string):integer;
var
SqlStr:string;
begin
SqlStr:='select isnull(max('+FieldName+'),0)+1 from '+TableName;
with ADOQry_ID do
begin
close;
SQL.Clear;
SQL.Add(SqlStr);
open;
result:=Fields[0].AsInteger;//执行到这里出错
end;
end;
调用时,提示“用于函数参数的个数不对,在查询表达式xxx中”
参数明明都是2个啊,怎么会不对呢?请指教!
function TF_EpIqSyHCV.GetUniID(FieldName:string;TableName:string):integer;
var
SqlStr:string;
begin
SqlStr:='select isnull(max('+FieldName+'),0)+1 from '+TableName;
with ADOQry_ID do
begin
close;
SQL.Clear;
SQL.Add(SqlStr);
open;
result:=Fields[0].AsInteger;//执行到这里出错
end;
end;
调用时,提示“用于函数参数的个数不对,在查询表达式xxx中”
参数明明都是2个啊,怎么会不对呢?请指教!
SQL.Text := 'select iif(isnull(max(a)),0,'+FieldName+')+1 as Num from '+TableName;