2015-08-12 4 views
-5

Как я могу сделать код, чтобы получить количество таблиц в текстовое поле ссылки в данной базе данных? Я использую visual studio 2013, и я новичок в этом. Я использовал сервер базы данных ms sql.Как я могу подсчитать количество таблиц в C#

public static List<string> GetTables(string connectionString) 
{ 
    using (SqlConnection connection = new SqlConnection(connectionString)) 
    { 
     connection.Open(); 
     DataTable schema = connection.GetSchema("Tables"); 
     List<string> TableNames = new List<string>(); 
     foreach (DataRow row in schema.Rows) 
     { 
      TableNames.Add(row[0].ToString()); 
     } 
     return TableNames; 

    } 

} 
+0

'Database_Name.information_schema.tables' –

+0

Что это проблема вашего кода? Почему 'schema.Rows.Count' не ответ на ваш вопрос? –

+0

Можете ли вы дать мне код счета – sweatbar

ответ

1

Если честно, я не понимаю вопроса. Вы хотите подсчет таблиц в данной базе данных. База данных задается строкой соединения. У вас уже есть код, который возвращает DataTable со всеми таблицами.

Итак, вот недостающая часть. Поскольку connection.GetSchema("Tables") также возвращает взгляды, если вы хотите посчитать, как вы готовы с:

DataTable schema = connection.GetSchema("Tables"); 
int tableAndViewCount = schema.Rows.Count; 

Если вы хотите посчитать таблицы и исключить просмотров:

int tableCount = schema.AsEnumerable().Count(t => t.Field<string>("TABLE_TYPE") == "BASE TABLE"); 
0

Попробуйте этот запрос,

выберите * из sys.tables

0

Получить количество таблиц с помощью запроса ниже, просто добавьте этот запрос в приложении.

SELECT COUNT(*) from information_schema.tables 
WHERE table_type = 'base table' 
Смежные вопросы