Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
kuzya987
2 / 2 / 0
Регистрация: 05.09.2010
Сообщений: 32
1

Индекс за пределами Массива

27.04.2011, 13:20. Просмотров 2060. Ответов 8
Метки нет (Все метки)

Всем Привет!
Возникает ошибка (Index was outside the bounds of the array.)
Программа должна брать максимальное значение из БД и прибавлять 1, результат помещать в TextBox
Помогите пожалуйста!
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
 SqlConnection Ifcon = new SqlConnection(pdbconn);
            try
            {
                Ifcon.Open();
                SqlCommand idtcom = new SqlCommand("Select max (ID) from dbo.TPRD", Ifcon);
                SqlDataReader idtrd = idtcom.ExecuteReader();
                while (idtrd.Read())
                {
                    int x=0, x1, x2 = 1;
                    if (!int.TryParse(idtrd.GetValue(0).ToString(), out x1))
                    {
                        textBox5.Text = "= ERROR";
                        return;
                    }
                    switch (textBox5.Text[0])
                    {
                        case 'x':
                            x = x1 + x2; break;
                    }
                    textBox5.Text = x.ToString();
                }
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                MessageBox.Show("Произошла ошибка при выполнении запроса к Базе Данных" +
                      "\nError Message:" + ex.Message, "SQL");
            }
            finally
            {
                Ifcon.Close();
            }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2011, 13:20
Ответы с готовыми решениями:

Индекс за пределами массива
Здравствуйте! Возникает ошибка выхода за предел массива при передачи символа в...

Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать разме
int id = 0; id = groups; Ошибка. Индекс за пределами диапазона. Индекс...

Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать разме
Вот такая ошибка возникла - Как её исправить ?

Индекс за пределами диапазона
в dgv 3 столбца, нужно заполнить средний, начинаю заполнять, вылетает ошибка...

Индекс за пределами диапазона
У меня есть список string массивов. Когда хочу задать им размерность, выдаёт...

8
freeba
Неадекват
1278 / 1075 / 206
Регистрация: 02.04.2010
Сообщений: 2,473
Записей в блоге: 2
Завершенные тесты: 2
27.04.2011, 13:39 2
Цитата Сообщение от kuzya987 Посмотреть сообщение
"Select max (ID) from dbo.TPRD"
заменить на
Select ID from dbo.TPRD ORDER BY ID DESC;
0
kuzya987
2 / 2 / 0
Регистрация: 05.09.2010
Сообщений: 32
27.04.2011, 13:44  [ТС] 3
Неа, не получилось, с запросом у меня точно всё хорошо, ошибка возникает в поле:
C#
1
                    switch (textBox5.Text[0])
0
znake
гроза ленивых студентов
450 / 405 / 51
Регистрация: 27.03.2011
Сообщений: 823
27.04.2011, 14:18 4
kuzya987, ясен пень возникает...
C#
1
switch (textBox5.Text) //тут не массив ни разу
Добавлено через 15 минут
да чтож я опять глупость то пишу?!
ошибка возникает потому что textBox5 у тебя пуст когда ты к нему обращаешься!
0
kuzya987
2 / 2 / 0
Регистрация: 05.09.2010
Сообщений: 32
27.04.2011, 15:50  [ТС] 5
znake, погодика, тогда немного не пойму, ТекстБокс сначала пустой, мне в него нужно зарядить Ячейку из БД + 1. Я так понимаю что косяк где то в коде после запроса к БД и формулой х=....
0
znake
гроза ленивых студентов
450 / 405 / 51
Регистрация: 27.03.2011
Сообщений: 823
27.04.2011, 16:13 6
выкладывай проект, так я тебя все равно не пойму.
0
kuzya987
2 / 2 / 0
Регистрация: 05.09.2010
Сообщений: 32
27.04.2011, 16:35  [ТС] 7
Вот он.....
0
Вложения
Тип файла: zip WindowsFormsApplication2.zip (44.4 Кб, 11 просмотров)
znake
гроза ленивых студентов
450 / 405 / 51
Регистрация: 27.03.2011
Сообщений: 823
27.04.2011, 16:42 8
у меня твоего sql сервера нет, поэтому код выкладываю исходя из того что запрос у тебя нормально выполняется и результат его ты берешь правильно:
C#
1
2
3
4
5
6
7
8
9
                while (idtrd.Read())
                {
                    if (!int.TryParse(idtrd.GetValue(0).ToString(), out x1))
                    {
                        textBox5.Text = "= ERROR";
                        return;
                    }
                    else textBox5.Text = (++x1).ToString();
                }
1
kuzya987
2 / 2 / 0
Регистрация: 05.09.2010
Сообщений: 32
27.04.2011, 17:26  [ТС] 9
Ура, получилось! Большое Спасибо!
0
27.04.2011, 17:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2011, 17:26

Индекс за пределами диапазона
Добрый день, суть проблемы заключается вот в чём. Есть таблица с данными, при...

Индекс за пределами диапазона
Проблема возникает в этом участке кода: Children childrens = new Children { ...

Индекс за пределами диапазона. Ошибка
Помогите исправить ошибку. Появляется при многократном добавлении записи в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru