一个SQL  SERVER数据库表,请问用什么办法可以知道其某一列是否存在?
我的解决方案如下:
ADODataSet1.CommandText:='select * from tb_1 where asdfa<>' ';
    try
      ADODataSet1.open;
    except
      on E: Exception do
        showMessage(E.Message);
    end;
可是怎么也捕获不到错误,那位大侠有更好的办法?感谢!

解决方案 »

  1.   

    可以做个循环吧,,
    for i:=0 to fieldcount do
    begin
      if fields[i].name='你的列名' then 
        showmessage('存在');
    end;
      

  2.   

    先"select * from Table"然后按上边的循环一把
      

  3.   

    按理来说你的语句应该是可以的。换ADOQuery看看?nyf1220的方法也可以,不过要注意一点,就是DELPHI的比较是区分大小写的。SQL SERVER中的做法是:
    if exists(select * From syscolumns where name='name' and id=object_id('tb_1') )
      ...
      

  4.   

    windindance(风舞轻扬)的办法较好,从客户端调用存储过程速度快,也方便。