0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
1 | |
При изменении типа данных ошибка19.12.2014, 19:40. Показов 1692. Ответов 20
Метки нет Все метки)
(
Доброго времени суток, дорогие форумчане. Делал программу на C# + Access база. При замене в базе целочисленной информации на строковую программа дает сбой.
В базе у меня имеется таблица Raspisanie, в ней имеется столбец Gruppa, в свою очередь столбец группа содержит данные 1,2,3,4,5,6,7,8,9. Мне требуется заменить все группы на "Взрослые" "Дети" и "Спортсмены". Заменяю в базе информацию, запускаю программу, выходит ошибка: Необработанное исключение типа "System.Data.OleDb.OleDbException" в System.Data.dll Ругается на последнюю строчку: Connect(); cmd = new OleDbCommand(str, conn); adap = new OleDbDataAdapter(cmd); DataT = new DataTable(); adap.Fill(DataT); Кто что посоветует? Помогите пожалуйста. Исходники прилагаются, использование программы свободное.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
19.12.2014, 19:40 | |
Ответы с готовыми решениями:
20
Ошибка при изменении данных Ошибка при изменении данных через Entity Framework Ошибка при преобразовании типа данных varchar к real Окно сообщения об ошибке DataGridView по умолчанию, при изменении типа ячейки в комбо бокс |
1087 / 830 / 490
Регистрация: 09.04.2014
Сообщений: 1,966
|
||||||
19.12.2014, 20:12 | 2 | |||||
вместо 1,2,3 должно быть '1','2','3'
1
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
19.12.2014, 20:21 [ТС] | 3 |
Спасибо. Сейчас попробую.
0
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
19.12.2014, 20:27 [ТС] | 4 |
Встаёт на том-же месте.
0
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
19.12.2014, 20:33 [ТС] | 5 |
Это при выборе "Спортсмены" "Дети" "Взрослые"
0
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
19.12.2014, 20:35 [ТС] | 6 |
При выборе '2' выходит такая ошибка:
0
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
19.12.2014, 20:42 [ТС] | 7 |
Вот еще скриншот ошибки
0
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|||||||||||
19.12.2014, 20:50 [ТС] | 8 | ||||||||||
0
|
1087 / 830 / 490
Регистрация: 09.04.2014
Сообщений: 1,966
|
||||||
19.12.2014, 22:29 | 9 | |||||
а вы сделали '1,2,3'
Добавлено через 8 минут
1
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
19.12.2014, 22:30 [ТС] | 10 |
0
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
19.12.2014, 22:33 [ТС] | 11 |
Вот скриншот, как зависает прога
0
|
1087 / 830 / 490
Регистрация: 09.04.2014
Сообщений: 1,966
|
|
19.12.2014, 23:33 | 12 |
так это только пример, чтоб показать как нужно составить список значений для кострукции IN (...)
Добавлено через 1 минуту в предыдущим посте я вам дал изменненный кусок кода, который реализует то, о чем я говорю
1
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
20.12.2014, 10:21 [ТС] | 13 |
У меня и так эта строка была.
Только она почему-то работает только с цифрами. или не она...
0
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
20.12.2014, 10:22 [ТС] | 14 |
При использовании цифры в формате string (а не в родном int) программа всё равно работает. Но если я впишу вместо цифры любую букву, то программа вылетает.
0
|
1087 / 830 / 490
Регистрация: 09.04.2014
Сообщений: 1,966
|
||||||
20.12.2014, 12:37 | 15 | |||||
![]() Решение
потому что и вас id - числовое поле
Добавлено через 8 минут вот вам новый код:
1
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
20.12.2014, 15:16 [ТС] | 16 |
Я понимаю, что у меня id числовое. Вставил ваш код, теперь у меня ни с чем не работает, ни с цифрами, ни с текстом.
0
|
1087 / 830 / 490
Регистрация: 09.04.2014
Сообщений: 1,966
|
||||||
20.12.2014, 18:44 | 17 | |||||
![]() Решение
вот вам работающий вариант:
Кликните здесь для просмотра всего текста
Не по теме: PS:
1
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
20.12.2014, 20:30 [ТС] | 18 |
Спасибо, расписание отображается и во вкладке расписание и во вкладке оплата. (скр1)
Во вкладке оплата вылетает при нажатии на кнопку добавить, ругается, что запрос имеет неверный формат.(скр2) Во вкладке Клиенты вылетает при выборе клиента (там отображаются его занятия, они и вылетают).(скр3)
0
|
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 33
|
|
20.12.2014, 20:35 [ТС] | 19 |
Буду благодарен, елси по подробнее объяснити выделенные места в коде:
field = "gruppa"; if (curR.Length > 0) strID2 = string.Format("'{0}'", curR[0]["Gruppa"]); field = "id";
0
|
1087 / 830 / 490
Регистрация: 09.04.2014
Сообщений: 1,966
|
||||||
20.12.2014, 21:45 | 20 | |||||
![]() Решение
вы в зависимости от flag делаете выборку или по id или по gruppa - вот переменная field и содержит название этого поля
curR - массив строк, который вы получаете из DataTBox.Select, теоретически он может быть пустой, вот чтобы избежать исключения и проводится эта проверка поскольку gruppa у вас строковый тип, то его значение в SQL нужно обрамлять одинарными кавычками в даном случае это можно записать как
Добавлено через 7 минут вы уверенны, что в comboBox3.Text содержится целое число? видимо не все значения dataGridViewM[idrasp, i].Value содержат целые числа, возможно, что некоторые пустые, тоесть нужно сделать проверку перед тем как добавлять в strID2
1
|
20.12.2014, 21:45 | |
Помогаю со студенческими работами здесь
20
обновление отчета при изменении данных При изменении данных в БД синхронизировать с приложением Обновление ComboBox при изменении данных Ошибка при изменении записи в Firebird Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |