C# 怎么查询数据库中表的名称或查询该表是否存在数据库中

用SQL语句怎样查询数据库中表的名称或查询该表是否存在数据库中,我用的是SQL的数据库!哪位高手教下??
我用的是SQLserver2000
程序如下:
static string m = DateTime.Now.Month.ToString();
static string y = DateTime.Now.Year.ToString();
private void button4_Click(object sender, EventArgs e)
{
try
{
conn.Open();
string cmd = "select _" + y + "年" + m + "月盘点表 from sysobjects where [type] = 'U'";
SqlCommand command = new SqlCommand(cmd, conn);
command.ExecuteNonQuery();
}
finally
{
conn.Close();
}
}
一运行就会弹出错误,加入y是2010,m是4时,就会报“列名'_2010年4月盘点表'无效”这个错误
我的数据库中已经是有这个表的

判断是否存在:

if exists (select count(*) from sysobjects where id = object_id('数据库名.Owner.表名'))
    return 1; -- 存在
else
  return 0; -- 不存在

判断表中字段是否存在:

if exists (select * from syscolumns where name='字段名' and id=object_id('数据库名.Owner.表名'))
    return 1; -- 存在 
else
   return 0; -- 不存在

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-12
select count(0) from sysobjects where id=object_id(N'表名') and objectproperty(id,N'IsUserTable')=1
如果返回的是0,则不存在,1为存在。本回答被提问者采纳
第2个回答  2010-04-12
能否说一下sql的版本,并贴一下程序?

你的语句我放sqlserver里执行了一下,是可以的呀。
相似回答