6 / 6 / 0
Регистрация: 08.05.2013
Сообщений: 55
|
|
1 | |
Ошибка при выводе в DBgrid, ADO14.10.2013, 15:31. Показов 984. Ответов 8
Метки нет (Все метки)
На форме стоит стоит два Dblookupcombobox`a со значением цех и станок, цех связан со станками мастерфилдом, тобишь при выборе цеха...в дблукапкомбобоксе отображаются станки ему соответствующие.
На форме установлен также дбгрид с таблицей номенклатура, номенклатура и станок опять же таки связаны собой мастерфилдом. Но в случае когда станку не соответствует не одна номенклатура выпадает Exeption "it is not integer value", но оно то ясно попадаю на значение NULL! Внимание вопрос: как мне сделать так чтобы выводились пустые строки в случае если номенклатура null?
0
|
14.10.2013, 15:31 | |
Ответы с готовыми решениями:
8
Ошибка при выводе в Word из DbGrid Установка DBGrid columns при выводе через запрос SQLquery (обычный вывод в editing DBGrid Columns все настраивается) Проблемы при выводе в DBgrid Баг при выводе в Excel из DBGrid |
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
|
|
15.10.2013, 00:41 | 2 |
Как именно через Delphi сделать не скажу, но можно сделать это через представления в субд.
Сделайте представление, которое содержало бы пустые строки, если номенклатура null. Возможно, это поможет.
0
|
6 / 6 / 0
Регистрация: 08.05.2013
Сообщений: 55
|
|
15.10.2013, 00:56 [ТС] | 3 |
В том то и косяк что привязка идет к числовому показателю, то есть таблица субд станки имеет вид:
<код цеха> для привязки цеха целочисленного типа <станок> собственно марка станка <код станка> счетчик таблица субд номенклатура имеет вид <код номенклатуры> счетчик <номенклатура> текст <кол-во> real параметр <станок> целочисленный параметр Тобишь я связываю два поля код станка и станок из двух таблиц, то есть когда я выбираю станок с кодом станка 1 мне запросом фильтруется вся номенклатура где <код станка>=<станок>, но в том случае когда коду станка не соответствует ни одна номенклатура получается что <код станка>=null что ни есть целочисленное значение, и естественно в проекте при событии ondrawcell выскакивает екзептион is not valid integer value! Приподнимались мной попытки проверять поле isnull в событиях ongettext и ondrawcell и подменить его,но екзепшен назойливо посылал меня на хутор к бабочкам
0
|
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
|
|
15.10.2013, 01:03 | 4 |
В том dblookupcombobox, где выбираете станок, можно не выводить такие станки, у которых нет связанных записей в таблице номенклатура. Или обязательно показать все станки?
0
|
6 / 6 / 0
Регистрация: 08.05.2013
Сообщений: 55
|
|
15.10.2013, 01:09 [ТС] | 5 |
Естественно обязательно, в том и заключается юзер-френдли логическая цепочка...человек выбирает цех,затем станок,а затем смотрит наличие номенклатуры...то есть привязка скачет именно цех-станок иначе очень много позиций номенклатуры,который фиг поймешь к чему заказывали)
0
|
669 / 559 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
|
|
15.10.2013, 07:40 | 6 |
есть ощущение что не в этом проблема
Проверил на своей базе ... все ок выдет пустое значение
Добавлено через 22 минуты хотя для проверки я использовал 1 DBLookupComboBox1 и два DBGrid в качестве Detail Добавлено через 5 минут Это косяк компоненты DBLookupComboBox необходимо после выбора значения устанавливать свойству KeyValue значение. Добавлено через 13 минут Пока не разобрался как с этим боротся... Если в место DBLookupComboBox2 поставить DBGrid проблемы не будет.
0
|
6 / 6 / 0
Регистрация: 08.05.2013
Сообщений: 55
|
|
15.10.2013, 10:16 [ТС] | 7 |
тобишь ты хочешь сказать что каждый раз когда я выбираю пункт, то Dblookupcombobox запрашивает кеyvalue? хехе...но в таком случае код DBLookupCombobox.keyvalue:=null тоже должен выдавать ошибку, а такого есесено не происходит)))
0
|
669 / 559 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
|
|
15.10.2013, 11:56 | 8 |
Я обнаружил, что при отсутсвии записи в таблице, будет выдаватся пусто. А ошибки указаной нет. Значит проблема в связки компнент. Пробывал заменить Dblookupcombobox2 на DBGrid?
Добавлено через 30 минут Хотя я могу и ошибатся, т.к. небыла указана СУБД, то я пробывал на FireBird и у меня указанной проблемы нет. Но ошибки с двумя комбатами включеными master-detail возникают. При этом какое значение передается в качестве параметра в запрос - вот вопрос т.к. во втором комбате пусто.
0
|
6 / 6 / 0
Регистрация: 08.05.2013
Сообщений: 55
|
|
15.10.2013, 12:32 [ТС] | 9 |
может попробывать убрать мастер - детаил и повесить на событие oncloseup комбика фильтр да и не парится=)))
Добавлено через 28 минут Все тему закрываю...нашел косяк....у меня стояла проверка на валидность...которая и давал ошибку! Всем спасибо!
0
|
15.10.2013, 12:32 | |
15.10.2013, 12:32 | |
Помогаю со студенческими работами здесь
9
Кодировка при выводе в dbGrid из MySql Добавление текста в ячейки DBGrid при выводе Ошибка при выводе <<< Ошибка при выводе из бд Ошибка при выводе ТЗ Ошибка при выводе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |