procedure Tfrm_customersortnew.adoquery1sql(var querysql: string;
var sqlnum: integer);
begin
frm_customersort.adoquery1.close;
frm_customersort.adoquery1.sql.clear;
frm_customersort.adoquery1.sql.text:=querysql;
case sqlnum of
begin
1,3,5:
frm_customersort.adoquery1.execsql;
2,4,6:
frm_customersort.adoquery1sql.Open;
end;
end;
以下是调用时的写法
self.adoquery1sql(text1,1);
报错,不知道什么原因,text1我也声明过了
var sqlnum: integer);
begin
frm_customersort.adoquery1.close;
frm_customersort.adoquery1.sql.clear;
frm_customersort.adoquery1.sql.text:=querysql;
case sqlnum of
begin
1,3,5:
frm_customersort.adoquery1.execsql;
2,4,6:
frm_customersort.adoquery1sql.Open;
end;
end;
以下是调用时的写法
self.adoquery1sql(text1,1);
报错,不知道什么原因,text1我也声明过了
你的代码风格有点问题,是起码也应写成这样.procedure Tfrm_customersortnew.adoquery1sql(Const querysql:string;sqlnum:integer);
begin
With frm_customersort.adoquery1 do
begin
close;
sql.text:=querysql; case sqlnum of
1,3,5:execsql;
2,4,6:Open;
end;
end;
end;--------------------------
建议你的操作方法.写一专门用来操作数据库的类.
var sqlnum: integer);
写成 procedure Tfrm_customersortnew.adoquery1sql(querysql: string;
sqlnum: integer);
sqlnum: integer);//声明过程时去掉sqlnum前的var否则使用变量来代替sqlnum 如
var
i :integer;
begin
i := 1;
adoquery1sql(text1, i);