当前位置: 首页 > 面试题库 >

如何检查Access数据库表中是否存在特定列

阎涵忍
2023-03-14
问题内容

我想知道如何检查Access数据库中的特定表(例如:myTable)中是否存在特定列(例如:日期)。

我已经阅读了此答案,该答案提供了一个查询,该查询导致另一个查询。

IF NOT EXISTS(SELECT * 
              FROM sys.columns 
              WHERE [name] = N'columnName' 
                AND [object_id] = OBJECT_ID(N'tableName'))
BEGIN
    ALTER TABLE ADD COLUMN MYCOLUMN
END

但是我需要的是true/false结果。

更新1

如何在C#应用程序中做到这一点?

也许使用SqlCommand.ExecuteScalar()或其他?


问题答案:

感谢所有提供解决方案并收集了一些答案的人,我提出了自己的解决方案版本。也许这不是最好的解决方案,但是至少我不需要额外的dll来添加引用或处理某些stored procedures不支持的Access。

OleDbConnection con = new OleDbConnection("my database address");
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT TOP 1 date FROM myTable";
con.Open();
bool exists = true;
try
{
  var x = cmd.ExecuteScalar();
}
catch (Exception e)
{
  exists = false;
}
con.Close();


 类似资料:
  • 问题内容: 我发现了很多与此问题有关的问题。 但是,有没有简单的语句可以完成此任务? 对于SQL和ACCESS 问题答案: sys.tables还可以为您提供有关表对象的一些信息,例如,列告诉您表是由复制创建的,还是列告诉您表是否设置了复制过滤器 注意:这是用于SQL Server 编辑:对于访问:

  • 问题内容: 我正在尝试制作简单的Java代码,以检查MySQL DB中是否存在表和/或列。我应该使用Java代码进行检查还是生成一个SQL查询字符串并执行以进行检查? 编辑- @ aleroot- 我尝试使用您的代码,如下所示。运行以下代码时,我看不到任何表或列。我只看到这个 我的数据库有很多数据库,表和列。我不知道为什么该程序可以正常工作。 问题答案: 要检查表是否存在,可以按以下方式使用Dat

  • 问题内容: 建立连接后是否可以检查(MySQL)数据库是否存在。 我知道如何检查数据库中是否存在表,但是我需要检查数据库是否存在。如果没有,我必须调用另一段代码来创建它并填充它。 我知道所有这些听起来都不太优雅-这是一个快速又肮脏的应用程序。 问题答案: 如果您只想知道数据库是否存在,以免在尝试创建数据库时出错,只需使用(From here):

  • 问题内容: 我正在将实时数据库与Google的Firebase结合使用,并且正在尝试检查是否存在孩子。 我的数据库结构如下 我想检查room1是否存在。我尝试了以下方法: 在访问它时,返回该房间属性的JSON,但是我如何检查room()是否从那里开始呢? 评论是否需要任何澄清 问题答案:

  • 问题内容: 我是JDBC的新手,我想找出是否有一种方法可以检查MySQL中是否已经存在特定的数据库。 假设我想创建一个名为students的数据库,如果已经在MySQL中创建了students数据库,则eclipse中的错误消息将指出该students数据库已经存在。但是,我想做的是创建一个布尔方法来检查学生数据库是否已经存在。如果存在,则布尔方法将返回false,否则返回true,那么我可以创建

  • 问题内容: 在SQL Server数据库中创建列或表之前,我想检查所需的表和/或列是否存在。 我到处搜索并找到2种方法。 存储过程,我不想使用 通过使用该方法并捕获异常来确定表/列是否存在,这对我来说是一个变通方法,但不是一个完美的解决方案。 还有另一种方法可以检查SQL Server中是否存在表/列吗? 问题答案: 要在创建架构之前检查其是否存在,请执行以下操作: 检查是否存在一列;您可以使用,