Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В ComboBox выводятся строки "(Collection)" 
V
    Опции темы
Mag
Дата 24.7.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 23.6.2005

Репутация: нет
Всего: нет



Функция соединяется с  базой и выбирает данные в переменую типа List<string>. После выборки начинает работать метод :
Код

 
  public void GetDatabaseList(string computerName)
                    {
                        SqlConnectionStringBuilder conStringBuilder = new SqlConnectionStringBuilder();
                        conStringBuilder.DataSource = computerName;
                        conStringBuilder.TrustServerCertificate = true;
                        conStringBuilder.IntegratedSecurity = true;
                                          SqlConnection connection = new SqlConnection(conStringBuilder.ToString());
                        connection.Open();
                        string queryString = "SELECT name FROM  master.dbo.sysdatabases WHERE name<>'master' AND name<>'model' AND name<>'msdb' AND name<>'Northwind' AND name<>'pubs' AND name<>'tempdb'";
                        SqlCommand command = new SqlCommand(queryString, connection);
                        command.CommandType = System.Data.CommandType.Text;

                        SqlDataReader reader = command.ExecuteReader();
                        try
                        {
                   //       if (reader.HasRows)
                            
                            // Always call Read before accessing data.
                            while (reader.Read())
                                    bases.Add(reader.GetString(0));
                        }
                        finally
                        {
                            reader.Close();
                            // Close the connection when done with it.
                            connection.Close();
                        }
                       // return 0;
                    this.InitComboBoxItems(bases);
        }

public void InitComboBoxItems(List<string> bases) 
                    {
                        foreach (string item in bases)
                            comboBox1.Items.Add(bases);
                    }


Он отвечает за вывод имен баз данных, но в ComboBox выводятся строки - "(Collection)". Во время пошагового выполнения в InitComboBoxItems передаются все строки имен баз. В чем причина?.
Также после выполняния InitComboBoxItems(реализация метода), следующий переход возвращается к InitComboBoxItems(вызов метода), который находится в ф-ии - GetDatabaseList. Второй вопрос: Как после выбора базы кликом, запустить вторую форму и передать имя выбраной базы?
--------------------
В  каждой черной комнате есть выход - всегда есть выход с любой ситуации!
PM MAIL WWW ICQ   Вверх
Mag
Дата 24.7.2007, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 23.6.2005

Репутация: нет
Всего: нет



Сможет кто-то помочь?
--------------------
В  каждой черной комнате есть выход - всегда есть выход с любой ситуации!
PM MAIL WWW ICQ   Вверх
Idsa
Дата 24.7.2007, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 4
Всего: 62



В комбобоксе отображается значение, возвращаемое методом ToString() помещенного в Items объекта. List<string>.ToString() возвращает "(Collection)". Ошибка в этой строчке:
Код

comboBox1.Items.Add(bases);

. Ее нужно заменить на
Код

     comboBox1.Items.Add(item);

. String.ToString() возвращает саму строку, т. к. что проблема исчезнет.

Добавлено через 8 минут и 26 секунд
Цитата(Mag @  24.7.2007,  15:20 Найти цитируемый пост)
Как после выбора базы кликом, запустить вторую форму и передать имя выбраной базы?

В обработчике SelectedIndexChanged комбобокса пишешь:
Код

SecondForm secondform = new SecondForm(this.comboBox1.Text);
secondForm.Show();



--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0390 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.