Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2011, 02:25   #1
VVkSoft
Пользователь
 
Аватар для VVkSoft
 
Регистрация: 06.09.2009
Сообщений: 66
По умолчанию ошибка при редактирование с полями со значением NULL: Access -> ADO

здравствуйте. у меня следующая проблема имеем таблицу:
name = тип строка
valuta = числовой тип
izBaze = логический
izTry = логический
Доступ к данным по технологии ADO база данных Access
вводим данные в базу с помощью окна диалога с DBEdit-ами и сохраняем все хорошо. Поля valuta, izBaze не вводим. Получается такая картина(смотрите первый вложеный файл)

обратите внимание что поля valuta, izBaze не имеют введенное значения (ну наверное значение является NULL).
далее беру редактирую данные, тоже через DbEdit. и тут нюанс: если не редактировать полей valuta, izBaze то ошибки нет а как редактировать то есть ошибка изложенной в втором вложеним файле проблема исчезает если переподключить таблицу или обновить ее после добавления записи с "полями NULL"(то и есть не вводит valuta, izBaze).
если ввести все поля то проблем никаких, а как не ввести эти два поля то возникает ошибка
Вопрос: как решить проблему не используя обновления или переподключения таблицы
Изображения
Тип файла: jpg Lj.jpg (37.7 Кб, 125 просмотров)
Тип файла: jpg 2.jpg (15.8 Кб, 124 просмотров)
VVkSoft вне форума Ответить с цитированием
Старый 23.03.2011, 18:42   #2
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

Я бы использовала простые едиты, а в при событии открытия формы редактирования добавила бы
Код:
if (AdoTable1.fieldbyname(name_field).value=null) then edit1.text:=""
else edit1.text:=AdoTable1.fieldbyname(name_field).value
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 24.03.2011, 10:35   #3
VVkSoft
Пользователь
 
Аватар для VVkSoft
 
Регистрация: 06.09.2009
Сообщений: 66
По умолчанию

спасибо.
переделал и работает.
Я так понял что не должно быть значений Null. Еще помогает обновление таблицы.
Но в чем может быть суть этой ошибки ADO.
может через ключевые поля, либо через индексацию и запрет совпадений в полях ID, Name. А поле ID есть счетчик значения - случайное ... А другие поля "простыми"
VVkSoft вне форума Ответить с цитированием
Старый 24.03.2011, 17:20   #4
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

сталкивалась когда-то с этим, джае как-то лечила, честно не помню как, вроде в свойствах DBEdit. Но edit универсальнее
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 24.03.2011, 23:50   #5
Lafeza
Пользователь
 
Аватар для Lafeza
 
Регистрация: 15.09.2009
Сообщений: 20
По умолчанию

Цитата:
переделал и работает.
Я так понял что не должно быть значений Null. Еще помогает обновление таблицы.
Но в чем может быть суть этой ошибки ADO.
может ошибка в сохранении данных?
Цитата:
Сообщение от Sparky Посмотреть сообщение
edit универсальнее
спорный вопрос, тем более с БД.
Lafeza вне форума Ответить с цитированием
Старый 27.03.2011, 21:22   #6
VVkSoft
Пользователь
 
Аватар для VVkSoft
 
Регистрация: 06.09.2009
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Lafeza Посмотреть сообщение
может ошибка в сохранении данных?
да, да ошибка при операции сохранения данных
VVkSoft вне форума Ответить с цитированием
Старый 28.03.2011, 12:05   #7
Lafeza
Пользователь
 
Аватар для Lafeza
 
Регистрация: 15.09.2009
Сообщений: 20
По умолчанию

Цитата:
Сообщение от VVkSoft Посмотреть сообщение
да, да ошибка при операции сохранения данных
(не буду угадывать что, где и как прописано), но к примеру, в кнопке "сохранить" пишем что-то типа :
Код:
if DBGrid1.EditorMode or DBGrid1.DataSource.DataSet.Modified then
  DBGrid1.DataSource.DataSet.Post;
и используя dbedit'u редактируем данные и сохраняем.
Lafeza вне форума Ответить с цитированием
Старый 01.04.2011, 00:30   #8
VVkSoft
Пользователь
 
Аватар для VVkSoft
 
Регистрация: 06.09.2009
Сообщений: 66
По умолчанию

спасибо попробую
VVkSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактирование записи ado palochka БД в Delphi 7 24.05.2010 10:58
БД Access и операции с полями WishNight БД в Delphi 3 05.04.2010 13:00
Ошибка при работе с БД Access Evgen1976 БД в Delphi 8 16.06.2009 21:29
Ошибка при коировании в Access mirawoo Microsoft Office Access 2 16.09.2008 06:01