库结构的升级,可以做到主程序里面,每次运行时,升级库程序,用户是没有什么感觉的。
1、建立一个tStringList,存放要升级的库结构字段名等信息
2、做一个函数,运行STringList中的内容。
下面是代码片断:
procedure tLogonForm.AlterDatabase_xssj; //修改销售税金表
var
myado:TAdoquery;
myList:TStringList;
ID,I:Integer;
Begin
myado:=tadoquery.Create(self);
myado.ConnectionString:=adoquery1.ConnectionString;
myado.CommandTimeout:=0;
mylist:=TStringList.Create;
myList.clear;
mylist.Add('Alter table [dbo].[xssjwhtable] add ssdy char(50) not null Constraint [DF_xssjwhTable_ssdy] default(''气矿'')');
mylist.Add('alter table [dbo].[xssjwhtable] DROP CONSTRAINT [PK_xssjwhtable]');
mylist.Add('alter table [dbo].[xssjwhtable] add CONSTRAINT [PK_xssjWhTable] PRIMARY KEY CLUSTERED([lb],[ny],[ssdy]) ON [PRIMARY]');
For I:=0 to mylist.Count-1 do
begin
Try
If myado.active=true Then myado.Close;
myado.SQL.clear;
myado.SQL.Append(mylist.Strings);
myado.ExecSQL;
except
end;
end;
myado.Free;
mylist.Free;
end;