ALTER TABLE tab1 ADD col1 INT NULL 

解决方案 »

  1.   

    to superjs(真剑神):
       那应写在那里呢?是不是储存过程中呢?因为字段名是使用者自己输入的,那么字段名应怎样设变量呢?因为用delphi 调用时 我是想用inputbox来使用户输入字段名的.。
      

  2.   

    可以到这里看看:http://dboy520.51.net/cgi-bin/doc/datacontent.php?no=159
      

  3.   

    //检测相关表中是否存在某字段
    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的管理员组权限才能执行。
      

  4.   

    to zfmich():
       你的意思是在sql server 2000中加上这两个函数?
    那么在delphi 6能直接调用吗?
      

  5.   

    ExecQuery和OpenQuery好像在delphi 中不能带参数啊?
      

  6.   

    在sql中写储存过程,在delphi中调用
      

  7.   

    delphi6+access?
    此方法行吗?我用BDE试时,提示该字段已存在,
    用SQL2000没问题?
    是什么原因
      

  8.   

    回复人: vernal(语蓝)(猪猪) (2001-11-13 10:52:46)  得0分 
    在sql中写储存过程,在delphi中调用    如何写~~~          怎样调用!!!!