日期:2014-05-19  浏览次数:20834 次

如何判断数据库中某张表是否存在某个列?
需要同时适用   access和mssql

------解决方案--------------------
从数据库中找数据到DataSet中
foreach (DataColumn cou in ds.Tables[0].Columns)
{
if(cou.ColumnName== "userID ")
{
..............
}
}
------解决方案--------------------
SQL:
sysobjects
syscolumns
结合这2表 很容易
------解决方案--------------------
sinatly(爱在爱你)的方法可行
------解决方案--------------------
--如果有返回的记录,表示存在
--否则表示不存在
select 1 as bExist
from syscolumns
inner join sysobjects on syscolumns.id=sysobjects.id
where sysobjects.xtype= 'U ' and
-- 将 tablename 找成要查的表名
sysobjects.name= 'tablename ' and
-- 将 colname 换成 要找的列名
syscolumns.name= 'colname '

------解决方案--------------------
上面是 MS SQL 的

在Access中只有判断表是否存在的方法
select 1
from msysobjects
where name= '表名 ' and type=1
有返回记录表示存在此表,否则没有此表

在确定表存在的基础上,再确定该字段是否存在
如果存在此表,可再执行
select top 1 列名
from 表名
如未出现异常,表示存在列名,否则出现列名


------解决方案--------------------
顶起,说的对!