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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> значения из DataReader считать, в локальную переменную... 
V
    Опции темы
RedButterfly
Дата 16.9.2008, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

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



Здравствуйте, уважаемые.

Второй день не получается решить маленький, возможно, глупый вопрос "Как считать данные из датаридера в локальные переменные?"

в таком коде 
Код

 public void CreateIDApp(int i)       // Открыть проект по ID... передаем номер
        {
             try
            {
                sqlConnectionPro = new SqlConnection();
                sqlConnectionPro.ConnectionString = connStr;        
                sqlConnectionPro.Open();
                selectValueCommand = new SqlCommand("SELECT Section, Name FROM TABLEPRO where Section=" + i.ToString() + ";", sqlConnectionPro);      

                reader = selectValueCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
                while (reader.Read())
                {
                    idtab = reader.GetInt32(0);//["Section"].ToString(); 
                    Console.WriteLine( idtab); // вот тут ест-но выводится
                    nametab = reader.GetString(1);//["Name"].ToString(); 
                 }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                reader.Close();// sqlConnectionPro.Close();

            }
 Console.WriteLine("idtab = " + idtab);       // а вот тут невозможно вывести...


пишет ошибку: 
Код

Error    1    Use of unassigned local variable 'idtab'    D:\ENApp\ENApp\ENProject.cs    74    48    Pro
 Использование неназначенной локальной переменной 'idtab

мне потом считанные значения из базы данных понадобятся....
как же их считать ?
PM MAIL ICQ Skype   Вверх
Voyager
Дата 16.9.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Установи начальное значение idtab в том месте где ее объявляешь.
PM   Вверх
GGuz
Дата 17.9.2008, 02:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

                SqlCommand comm = conn.CreateCommand();
                comm.CommandText = "SELECT ля-ля";
                comm.CommandType = CommandType.Text;
                SqlDataReader dr = comm.ExecuteReader();
                
                while (dr.Read())
                {
                    Console.WriteLine(dr);
                }           
        


Что то типа того, если канеш я правильно понял вопрос. smile 
PM MAIL   Вверх
Idsa
Дата 17.9.2008, 04:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(GGuz @  17.9.2008,  06:26 Найти цитируемый пост)
while (dr.Read())
                {
                    Console.WriteLine(dr);
                }           

Скорее, так:
Код

while (dr.Read())
{
  int id = dr[0];
  string name = dr["name"];
  ...
}



--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
RedButterfly
Дата 17.9.2008, 06:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

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



Цитата(Voyager @ 16.9.2008,  17:32)
Установи начальное значение idtab в том месте где ее объявляешь.

спасибо smile чмок!

вот так заработало....вернее стало видно и доступно

Код

public void CreateIDApp(int i)       // Открыть проект по ID.
        {
// вот установила значения
            int idtab = 0;
            string nametab = "";
            try
            {
                sqlConnectionPro = new SqlConnection();
                sqlConnectionPro.ConnectionString = connStr;        
                sqlConnectionPro.Open();
                selectValueCommand = new SqlCommand("SELECT Section, Name FROM TABLEPRO where Section=" + i.ToString() + ";", sqlConnectionPro);      
                reader = selectValueCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
                while (reader.Read())
                {
                    idtab = reader.GetInt32(0);//["Section"].ToString(); 
                    nametab = reader.GetString(1);//["Name"].ToString(); 

                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                reader.Close();// sqlConnectionPro.Close();

            } 
// и вот тут теперь их видно!)))
            Console.WriteLine("idtab = " + idtab);
            Console.WriteLine("nametab = " + nametab);
        }


и самый главный вопрос: почему была так важна инициализация?

Добавлено через 1 минуту и 20 секунд
Цитата(GGuz @ 17.9.2008,  04:26)
Код

                SqlCommand comm = conn.CreateCommand();
                comm.CommandText = "SELECT ля-ля";
                comm.CommandType = CommandType.Text;
                SqlDataReader dr = comm.ExecuteReader();
                
                while (dr.Read())
                {
                    Console.WriteLine(dr);
                }           
        


Что то типа того, если канеш я правильно понял вопрос. smile

это уже было...

вопрос был о том , что за пределами цикла WHILE считанные данные не видны...

Добавлено через 2 минуты и 58 секунд
Цитата(Idsa @ 17.9.2008,  06:00)
Цитата(GGuz @  17.9.2008,  06:26 Найти цитируемый пост)
while (dr.Read())
                {
                    Console.WriteLine(dr);
                }           

Скорее, так:
Код

while (dr.Read())
{
  int id = dr[0];
  string name = dr["name"];
  ...
}

да. это считывание.
PM MAIL ICQ Skype   Вверх
GGuz
Дата 17.9.2008, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



RedButterfly, вот блин... не понял вопрос, уже засыпая писал.  Простите меня, я больше так не буду smile 
PM MAIL   Вверх
RedButterfly
Дата 17.9.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

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



Цитата(GGuz @ 17.9.2008,  13:39)
RedButterfly, вот блин... не понял вопрос, уже засыпая писал.  Простите меня, я больше так не буду smile

спасибо вообще за поддержку smile

мне лишний раз узнать , что пишу правильно - приятно...)))
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




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


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

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