result:=false; try with query1,SQL do begin Clear; Add(' insert into a values(g1,g2)'); ExecSQl; Clear; Add(' insert into b values(g3,g4,g5)'); ExecSQl; Clear; Add(' insert into c values(g6,g7,g8,g9,g10)'); Execsql; end; result:= True; except raise; end; 是这样吗?
Function FF(g1,g2,g3,...g11:string;Flag:Boolean):Boolean; 其中g1-g11,为你表的字段名,Flag为添加或修改的标识
g11设成boolean; if g11 then insert else update;
对不起! 我好像没有说清楚的g1到g11是数据表中字段最多的,不是每个表的字段总和 而且插入或修改的时候不是针对多个表而是一个表,决定表的内容是由给出的字段决定 的例如: function ff(g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11 : String) : Boolean; begin //添加 Close; SQL.Clear; SQL.Add('Insert into table(''g1'',''g2''') values(''ss'',''dd'')'); ExcSQL; 但是这只是 A表中的字段,如果换成B表的字段该怎么办呢? 总不能再写一条Insert吧! 那我这个函数还有什么用呢? 修改也是这个道理的? end;
try
with query1,SQL do begin
Clear;
Add(' insert into a values(g1,g2)');
ExecSQl;
Clear;
Add(' insert into b values(g3,g4,g5)');
ExecSQl;
Clear;
Add(' insert into c values(g6,g7,g8,g9,g10)');
Execsql;
end;
result:= True;
except
raise;
end;
是这样吗?
其中g1-g11,为你表的字段名,Flag为添加或修改的标识
if g11 then
insert
else update;
而且插入或修改的时候不是针对多个表而是一个表,决定表的内容是由给出的字段决定
的例如:
function ff(g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11 : String) : Boolean;
begin
//添加
Close;
SQL.Clear;
SQL.Add('Insert into table(''g1'',''g2''') values(''ss'',''dd'')');
ExcSQL;
但是这只是 A表中的字段,如果换成B表的字段该怎么办呢? 总不能再写一条Insert吧! 那我这个函数还有什么用呢? 修改也是这个道理的?
end;
1、function(flag, struct)
flag用于指定要进行的操作类别,struct为用存储的结构2、function(strunct);
function(strunct1);overload;
重载这样至少在结构上很清晰,维护起来方便