Herhangi bir veri sağlayıcısıyla çalışan bir veritabanında bir tablo olup olmadığını belirlemek için ADO.NET'i kullanmanın bir yolu var mı?Herhangi bir veri sağlayıcısıyla çalışan bir veritabanında bir tablo olup olmadığını belirlemek için ADO.NET'i kullanmanın bir yolu var mı?
Şu anda böyle bir şey yapıyorum:
bool DoesTableExist(string tableName)
{
DbCommand command = this.dbConnection.CreateCommand();
command.CommandText = "SELECT 1 FROM " + tableName;
try
{
using (DbDataReader reader = command.ExecuteReader())
{
return true;
}
}
catch (DbException)
{
return false;
}
}
ben yakalamak istisnalar içermeyen bir yolu olduğunu umut ediyorum.
Muhtemelen bu soruyu soruyorsunuz çünkü orada kod kokusu tespit ettiniz, bu yüzden bunu bir iltifat olarak kabul edin: Akış kontrolü istisnaları kullanmak en iyi uygulama değildir. – ErikE