用SQL。你是什么数据库?
procedure TForm1.Button3Click(Sender: TObject);
var
InputStr: string;
begin
InPutstr := InputBox('输入要增加的字段名', 'Field:', '');
if Trim(Inputstr) = '' then Exit;
Query1.DisableControls;
Query1.close;
Query1.requestlive := True;
Query1.SQL.Clear;
Query1.SQL.Add('ALTER TABLE DynicPara add Column '+InputStr+' char(10)');
Query1.ExecSQL;
Query1.requestlive := False;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from DynicPara');
Query1.Open;
Query1.EnableControls;
qAddItems;
end;
DynicPara是别名。
大致如此,可以你自己改改用。
procedure TForm1.Button3Click(Sender: TObject);
var
InputStr: string;
begin
InPutstr := InputBox('输入要增加的字段名', 'Field:', '');
if Trim(Inputstr) = '' then Exit;
Query1.DisableControls;
Query1.close;
Query1.requestlive := True;
Query1.SQL.Clear;
Query1.SQL.Add('ALTER TABLE DynicPara add Column '+InputStr+' char(10)');
Query1.ExecSQL;
Query1.requestlive := False;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from DynicPara');
Query1.Open;
Query1.EnableControls;
qAddItems;
end;
DynicPara是别名。
大致如此,可以你自己改改用。
function IsExistColumn(sTableName :string ;sColumnName :string):Boolean;
var
sSql :string;
iTableId :integer;
begin
sSql :='Select * from sysobjects where name='''+trim(sTableName)+'''';
query.close;
query.sql.clear;
query.sql.add(sSql);
if not query.IsEmpty then
begin
iTableId :=query.fieldbyname('id').AsInteger;
sSql :='select * from syscolumns where id =' +IntToStr(iTableId)+' and name='''+trim(sColumnName)+'''';
query.close;
query.sql.clear;
query.sql.add(sSql);
if not query.IsEmpty then
begin
Result :=true;
end
else
begin
Result :=false;
end;
end
else
begin
Result :=false;
end;
end;//add by czf 0518 //在相关表中新增相应字段
function AddNewColumn(sTableName :string ;sColumnName :string; sColumnTypeStr:string):Boolean;
var
sSql :string;
begin
sSql :='alter table '+trim(sTableName)+' add '+trim(sColumnName)+' '+trim(sColumnTypeStr);
if ExecQuery(query,sSql) then
begin
Result :=true;
end
else
begin
Result :=false;
end;
end;function ExecQuery(query:TADOQuery;SqlStr:string):boolean;
begin
query.close;
query.sql.clear;
query.sql.add(sqlstr);
try
query.ExecSQL;
except
ShowMessage('执行'+query.name+'出错,sql语句为:'+sqlstr);
result := false;
exit;
end;
result := true;
end;