【问题标题】:recognize stored procedure and table in sql server识别sql server中的存储过程和表
【发布时间】:2012-01-05 07:20:16
【问题描述】:

我从用户那里得到一个 SQL 数据库连接字符串,然后我想检查数据库中的特定表或特殊存储过程?

如何在 C# 中做到这一点?

【问题讨论】:

标签: c# sql database


【解决方案1】:

这个的快捷方式是(在 SQL 中):

SELECT OBJECT_ID('tableName')

SELECT OBJECT_ID('storedprocedurename')

如果这些返回 null (DBNull.Value),则该项目不存在。否则,它会。

因此,在 C# 中,这将类似于:

        using (var conn = new SqlConnection(connectionString))
        {
            conn.Open();
            var cmd = new SqlCommand();
            cmd.Connection = conn;
            cmd.CommandText = @"SELECT OBJECT_ID('" + MyObjectName + @"')";
            if (cmd.ExecuteScalar() == DBNull.Value)
            {
                Console.WriteLine("Does not exist");
            }
            else 
            {
                Console.WriteLine("Does exist");
            }
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    相关资源
    最近更新 更多