33 / 27 / 2
Регистрация: 08.09.2010
Сообщений: 402
1

Программа требует закрыть DataReader, несмотря на вызов Close()

10.12.2013, 08:06. Показов 2616. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ругается на не закрытый DataReader для Command хотя я все закрыла
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
conn = new SqlConnection();
            conn.ConnectionString = @"Data Source=.\SQLEXPRESS; Initial Catalog=" +
                               @"kursovoiProekt2;" +
                               "Integrated Security=True";
           
            try
            {
               
                conn.Open();
               
                SqlCommand command = new SqlCommand("SELECT logins FROM Users WHERE logins = '" + textBox1.Text + "'", conn);
                SqlDataReader asd = command.ExecuteReader();
                if (asd != null)
                {
                    
                    SqlCommand command2 = new SqlCommand("SELECT idUser FROM Users WHERE logins = '" + textBox1.Text + "'", conn);
                    SqlDataReader id = command2.ExecuteReader();
                    label5.Text += id;
                    id.Close();
                    SqlCommand command3 = new SqlCommand("SELECT posword FROM Users WHERE id = '" + label5.Text + "'", conn);
                    SqlDataReader asd2 = command3.ExecuteReader();
                    if (asd2 != null)
                    {
                        SqlCommand command4 = new SqlCommand("SELECT prava FROM Users WHERE id = '" + label5.Text + "'", conn);
                        SqlDataReader asd3 = command4.ExecuteReader();
                        if (asd3 != null)
                        {
                            label6.Text += asd3;
                            if (label6.Text == "Администратор")
                            {
                                Admin Form = new Admin();
                                Form.Show();
                            }
                            else
                            {
                                Menu Form1 = new Menu();
                                Form1.Show();
                            }
 
                           
                          
                        }
                         
                        else
                        {
                            MessageBox.Show("Ошибка прав доступа");
                        }
                        asd3.Close();
                    }
                    else
                    {
                        MessageBox.Show("Ошибка ввода пароля");
                    }
                    asd2.Close();
                    id.Close();
                }
                   
                else
                {
                    MessageBox.Show("Ошибка ввода логина");
                }
                asd.Close();
              
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            conn.Close();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2013, 08:06
Ответы с готовыми решениями:

Потоки и ошибка, требующая закрыть DataReader
здравствуйте! возникла необходимость некое работающее приложение сделать многопоточным в связи с...

Закрыть DataReader
Всем привет. Возникла проблема при изменении одной базы в SQL Server 2012. Собственно что...

Закрыть MainForm из вкладки Close в MenuStrip
Собственно вопрос в заголовке, пока не получается..

Закрыть программу через ApplicationCommands.Close
Как закрыть программу через ApplicationCommands.Close ? мой код в XAML: ...

3
10 / 25 / 9
Регистрация: 08.12.2013
Сообщений: 115
10.12.2013, 08:43 2
Он ругается скорей всего на то, что иногда SqlDataReader ==null , а ты его пытаешься закрыть.
0
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
10.12.2013, 08:46 3
While the SqlDataReader is being used, the associated SqlConnection is busy serving the SqlDataReader, and no other operations can be performed on the SqlConnection other than closing it. This is the case until the Close method of the SqlDataReader is called. For example, you cannot retrieve output parameters until after you call Close.
0
10 / 25 / 9
Регистрация: 08.12.2013
Сообщений: 115
10.12.2013, 09:05 4
Нельзя выполнять новую операцию используя соединение, не обработав предыдущую.
Если так то нужно 4 объекта SQLConnection
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2013, 09:05
Помогаю со студенческими работами здесь

Существует назначенный этой команде Command открытый DataReader, который требуется предварительно закрыть
Что за ошибка: Существует назначенный этой команде Command открытый DataReader, который требуется...

Существует назначенный этой команде Command открытый DataReader, который требуется предварительно закрыть
Добрый день. Выполняю такой код: /// <summary> /// Разблокировать источник...

Существует назначенный этой команде Command открытый DataReader, который требуется предварительно закрыть
Вот такая ошибка выскакивает при выполнении кода. Может кто сталкивался. //---------------------...

Вызов BeginAccept() при вызове Close()
Всем привет. Подскажите, ребята: почему при вызове метода Close() сокет вызывает метод...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru