繁体   English   中英

如何在C#中检查数据库中是否存在表(ACCESS或SQL)

[英]how can i check whether a table exists in the database (ACCESS or SQL) in C#

我发现了很多关于这个问题的问题。

但有没有简单的陈述来完成这项任务?

适用于SQL和ACCESS

IF (EXISTS (SELECT 1 FROM sys.tables WHERE name = 'table_name'))
BEGIN
    -- do stuff
END

sys.tables还可以为您提供有关表对象的一些信息,例如, is_replicated列会告诉您表是由复制创建的,还是has_replication_filter列告诉您表是否已设置复制过滤器

注意:这是针对SQL Server的

编辑:访问:

SELECT COUNT(*) as Exists from MsysObjects 
WHERE type = 1
AND name = 'MY_TABLE_NAME' 

请注意,在SQL中没有标准化的方法,您必须编写特定于平台的代码。

据我所知,所有DBMS都以这种或那种方式具有此功能,但它有很大不同,例如在Oracle中,您可以查询sys.all_tables视图。

您也可以使用OBJECT_ID。

IF OBJECT_ID('table1') IS NOT NULL
print 'Exists' 
else
print 'Not Exists' 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM