Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.10.2010, 13:38
exy exy вне форума
Прохожий
 
Регистрация: 13.01.2010
Сообщения: 27
Репутация: 10
По умолчанию Проблема с добавлением в БД

Помогите пожалуйста, у меня не работает механизм добавления строки в БД. Пишет ошибку :""The insert failed because a column definition includes validation constraints.validation error for column IDVR, value "*** null ***"."
Вот код добавления:

Код:
procedure TfmNew.bbOkClick(Sender: TObject);
begin
DataModule2.DSRaboty.Insert;
DataModule2.DSRaboty.FieldByName('IDR').AsInteger := 12;
DataModule2.DSRaboty.FieldByName('IDPREPOD').AsInteger := DBLookupComboBox3.KeyValue;
DataModule2.DSRaboty.FieldByName('IDVR').AsInteger := DBLookupComboBox1.KeyValue;
DataModule2.DSRaboty.FieldByName('IDVMR').AsInteger := DBLookupComboBox2.KeyValue;
DataModule2.DSRaboty.FieldByName('Nazvanier').AsString := Memo1.Text;
DataModule2.DSRaboty.FieldByName('CountListovR').AsInteger := StrToInt(Edit4.Text);
DataModule2.DSRaboty.FieldByName('IDMINR').AsInteger := DBLookupComboBox4.KeyValue;
DataModule2.DSRaboty.FieldByName('Godr').AsDateTime := StrToDate(Edit5.Text);
ShowMessage(DBLookupComboBox1.KeyValue);
DataModule2.DSRaboty.Post;
end;
Admin: Теги, и еще раз теги!

Пробовал сделать через sql - запрос, все равно выдает ту же ошибку.
sql - запрос :
insert into metodinauchnraboty(IDR, NAZVANIER, COUNTLISTOVR, GODR, IDVR, IDPREPOD, REITINGNR, IDMINR, IDVMR)
VALUES(:IDR, :NAZVANIER, :COUNTLISTOVR, :GODR, :IDVR, :IDPREPOD, :REITINGNR, :IDMINR, :IDVMR);

В Ibexpert через этот же запрос запись вставляется нормально...

Последний раз редактировалось Admin, 28.10.2010 в 14:03.
Ответить с цитированием
  #2  
Старый 28.10.2010, 17:48
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Возможно вам поле IDR не надо указывать в запросе т.к. оно счетчик и заполняется автоматом. Или-же правилами целостности запрещен ввод в поле IVDR пустых значений. Смотрите, что у вас DBLookupComboBox1.KeyValue возвращает.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 28.10.2010, 18:04
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Внешний ключ не дает записать значение. Проверь DBLookupComboBox1.KeyValue, что- то он тебе ничего не возвращает.
Ответить с цитированием
  #4  
Старый 28.10.2010, 23:08
exy exy вне форума
Прохожий
 
Регистрация: 13.01.2010
Сообщения: 27
Репутация: 10
По умолчанию

В том то и дело что с помощью сендмессаг смотрю и получаю правильные значения
DBLookupComboBox1.KeyValue и всех остальных тоже, но вот почему не хочет в базу записываться не понимаю.
Все лукап комбо боксы выдают правильные кей валуе, но на все жалуется делфи, просто видимо IDVR - первое с чем он сталкивается...

Последний раз редактировалось exy, 28.10.2010 в 23:47.
Ответить с цитированием
  #5  
Старый 29.10.2010, 01:04
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Для начала просто укажи значения для этих полей не через компонент, а через константы и проверь, что работает. может у тебя запрос на обновление неправильный и поле просто пропущено.

Второй вариант. использовать метод AppendRecord, который деалет все за одну операцию.
Ответить с цитированием
  #6  
Старый 29.10.2010, 01:20
exy exy вне форума
Прохожий
 
Регистрация: 13.01.2010
Сообщения: 27
Репутация: 10
По умолчанию

Пытаюсь заполнить вручную через константы - результат тот же...
Ответить с цитированием
  #7  
Старый 29.10.2010, 07:19
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Проверяй запросы на добавление.
Ответить с цитированием
  #8  
Старый 29.10.2010, 10:56
exy exy вне форума
Прохожий
 
Регистрация: 13.01.2010
Сообщения: 27
Репутация: 10
По умолчанию

Всем спасибо за помощь!!! Проблема была решена изменением стандартных делфи запросов на добавление! IMIKLE - огромный респект!

p.s. Admin: Тему можно удалять
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:29.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025