【发布时间】:2016-02-23 19:27:30
【问题描述】:
我想知道如何检查Access 数据库的特定表(例如:myTable)中是否存在特定列(例如:日期)。
我读过this answer,它提供的查询会导致另一个查询。
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() 或别的什么?
【问题讨论】:
-
@marc_s 我使用
ExecuteScalar或ExecuteNonQuery得到Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.错误 -
这是从 C# 确定 Access 中是否存在表的答案。也许它会为您指明比 SQL Server 代码更有用的方向:stackoverflow.com/a/4793675/121544
-
是的,您在原始问题中没有提到这是针对 MS Access ........
SqlCommand并且仅此 T-SQL 代码适用于 SQL Server .....