如何判断数据表的某列是否存在?

wooxer 2004-08-10 04:45:25
一个SQL SERVER数据库表,请问用什么办法可以知道其某一列是否存在?
我的解决方案如下:
ADODataSet1.CommandText:='select * from tb_1 where asdfa<>' ';
try
ADODataSet1.open;
except
on E: Exception do
showMessage(E.Message);
end;
可是怎么也捕获不到错误,那位大侠有更好的办法?感谢!
...全文
110 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wooxer 2004-08-11
  • 打赏
  • 举报
回复
windindance(风舞轻扬)的办法较好,从客户端调用存储过程速度快,也方便。
Randy_Mic 2004-08-10
  • 打赏
  • 举报
回复
楼上正解
windindance 2004-08-10
  • 打赏
  • 举报
回复
按理来说你的语句应该是可以的。换ADOQuery看看?

nyf1220的方法也可以,不过要注意一点,就是DELPHI的比较是区分大小写的。

SQL SERVER中的做法是:
if exists(select * From syscolumns where name='name' and id=object_id('tb_1') )
...
kaguo 2004-08-10
  • 打赏
  • 举报
回复
先"select * from Table"然后按上边的循环一把
nyf1220 2004-08-10
  • 打赏
  • 举报
回复
错了,是 Fields[i].Fieldname
nyf1220 2004-08-10
  • 打赏
  • 举报
回复
可以做个循环吧,,
for i:=0 to fieldcount do
begin
if fields[i].name='你的列名' then
showmessage('存在');
end;

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧