//检测相关表中是否存在某字段 function IsExistColumn(sTableName :string ;sColumnName :string):Boolean; var sSql :string; iTableId :integer; begin sSql :='Select * from sysobjects where name='''+trim(sTableName)+''''; OpenQuery(wagedata.query,sSql,false); if not wagedata.query.IsEmpty then begin iTableId :=wagedata.query.fieldbyname('id').AsInteger; sSql :='select * from syscolumns where id =' +IntToStr(iTableId)+' and name='''+trim(sColumnName)+''''; OpenQuery(wagedata.query,sSql,false); if not wagedata.query.IsEmpty then begin Result :=true; end else begin Result :=false; end; end else begin Result :=false; end; end;//在相关表中新增相应字段 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(wagedata.query,sSql) then begin Result :=true; end else begin Result :=false; end; end;注意:以上两个函数要有SQL的管理员组权限才能执行。
to zfmich(): 你的意思是在sql server 2000中加上这两个函数? 那么在delphi 6能直接调用吗?
那应写在那里呢?是不是储存过程中呢?因为字段名是使用者自己输入的,那么字段名应怎样设变量呢?因为用delphi 调用时 我是想用inputbox来使用户输入字段名的.。
function IsExistColumn(sTableName :string ;sColumnName :string):Boolean;
var
sSql :string;
iTableId :integer;
begin
sSql :='Select * from sysobjects where name='''+trim(sTableName)+'''';
OpenQuery(wagedata.query,sSql,false);
if not wagedata.query.IsEmpty then
begin
iTableId :=wagedata.query.fieldbyname('id').AsInteger;
sSql :='select * from syscolumns where id =' +IntToStr(iTableId)+' and name='''+trim(sColumnName)+'''';
OpenQuery(wagedata.query,sSql,false);
if not wagedata.query.IsEmpty then
begin
Result :=true;
end
else
begin
Result :=false;
end;
end
else
begin
Result :=false;
end;
end;//在相关表中新增相应字段
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(wagedata.query,sSql) then
begin
Result :=true;
end
else
begin
Result :=false;
end;
end;注意:以上两个函数要有SQL的管理员组权限才能执行。
你的意思是在sql server 2000中加上这两个函数?
那么在delphi 6能直接调用吗?
此方法行吗?我用BDE试时,提示该字段已存在,
用SQL2000没问题?
是什么原因
在sql中写储存过程,在delphi中调用 如何写~~~ 怎样调用!!!!