Функция не возвращает второй столбец - PullRequest
0 голосов
/ 15 декабря 2010

У меня есть такая функция

public static string GetNumberOfColumns(string ConnectionString)
{
    StringBuilder sb = new StringBuilder();

    try
    {
       //Instance of SQL connection is created.
       using(var sConnection = new SqlConnection(ConnectionString))

       //Instance of SQL command is created.
       using(var sCommand = sConnection.CreateCommand())
       {
          //Opens the connection.
          sConnection.Open();

          //Query to get the list of tables and the number of columns they have.
          sCommand.CommandText = @"SELECT
                                                  t.table_name 
                                                 AS
                                                  TABLES,

                                                  COUNT(*)   
                                               FROM 
                                                  INFORMATION_SCHEMA.TABLES t    
                                               JOIN 
                                                  INFORMATION_SCHEMA.COLUMNS c
                                                 ON 
                                                  c.table_name = t.table_name 
                                              WHERE
                                                  t.table_name <> 'dtProperties' 
                                           GROUP BY 
                                                  t.table_name ";

          using(var reader = sCommand.ExecuteReader())
          {
              while(reader.Read())
              {
                 sb.AppendLine(reader.GetString(0));
              }
          }
      }
   }
   catch(Exception ex)
   {
       //All the exceptions are handled and written in the EventLog. 
       EventLog log = new EventLog("Application");
       log.Source = "MFDBAnalyser";
       log.WriteEntry(ex.Message);
   }

   return sb.ToString();
}

Эта функция должна возвращать имена таблиц с количеством столбцов, которые у них есть, но теперь она возвращает только имена таблиц, а количество столбцов не возвращается.

Можете ли вы, ребята, помочь мне ....

1 Ответ

0 голосов
/ 15 декабря 2010

Вам также необходимо получить второй столбец (его значение) в вашем считывателе данных !!

using(var reader = sCommand.ExecuteReader())
{
   while(reader.Read())
   {  
       int count = reader.GetInt(1);
       sb.AppendLine(reader.GetString(0));
   }
}

Это не происходит автоматически - вам нужно специально и явно получить данные из считывателя и как-то их сохранить (чтобы вы могли их вернуть).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...