0
ユーザーからSQLデータベース接続文字列を取得した後、データベース内の特定のテーブルまたは特別なストアドプロシージャをチェックしますか?ストアドプロシージャとテーブルをSQLサーバーで認識します
どのようにC#でこれを行うことができますか?
ユーザーからSQLデータベース接続文字列を取得した後、データベース内の特定のテーブルまたは特別なストアドプロシージャをチェックしますか?ストアドプロシージャとテーブルをSQLサーバーで認識します
どのようにC#でこれを行うことができますか?
このショートカットは、(SQLで)です:
SELECT OBJECT_ID('tableName')
または
SELECT OBJECT_ID('storedprocedurename')
これらの戻りヌル(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");
}
}
。言い換えれば、データベースのスキーマ(テーブルなど)を照会しようとしていますか? – gideon
この質問には、2つの部分があります。両方の部分があります:http://stackoverflow.com/questions/1266960/sql-query-to-search-schema-of-all-tables http://stackoverflow.com/questions/291574/query -to-list-sql-server-stored-procedures-with-with-for-each-pro – gideon
シンプルなdbスキーマのクエリの例を参照してください。http://blog.sqlauthority.com/2007/ 06/26/sql-server-2005-list-all-tables-of-database / – gideon