![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
![]()
ADO, MS SQL.
В-общем,дело обстоит так.в БД есть 2 таблицы. Первая - OBJECT. Поля: NUM_REP - int(ключ) NAME - varchar. Вторая - FULLOBJECTS. Поля: NUM_REP - int Y M OBJECTS. Создаю связь один ко многим.Теперь форма. На ней есть edit поля,кнопка Сохранить. Нажимаю сохранить Код:
Помогите кто может. Постоянно вылетает ошибка что невозможно добавить числа, тк установлен первичный ключ и т.д. Может нужно как то по-другому организовать БД? Последний раз редактировалось kate158; 18.06.2009 в 14:42. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
![]()
а само значение в поле NUM_REP в обих таблицах как заносите? не автоикрементного они типа?
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
![]()
Автоинкрементных полей нет.
Значение NUM_REP,NAME,Y,M, OBJECTS пользователь добавляет в БД через edit. Просто хочу чтобы числа добавлялись в обе таблицы в NUM_REP. В ОДНОЙ ТАБЛИЦЕ ПЕРВИЧНЫЙ КЛЮЧ, В ДРУГОЙ ВНЕШНИЙ. ОШИБКА: insert statement conflicted with column foreign key constraint 'FK_OBJECT_FULLOBJECT'... ![]() Последний раз редактировалось kate158; 18.06.2009 в 14:58. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
![]()
тогда просто заносите данные как в обычные поля, только в данном случае сделать проверку, что бы пользователь мог только цифры вводить в поля NUM_REP. я обычно заносил данные таким способом:
ADOQuery1.insert; ADOQuery1.FieldByaName('NUM_REP').A sInteger:=StrToInto(edit1.text); ADOQuery1.Post; |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
![]()
ЭММММ....
вопрос не в том какого типа данные. если все сделать без ключей, то добавлются записи. но мне именно нужно с первичным и внешним ключом.\чтоб потом при выборе лукап поля по одному названию пользователь мог увидеть все объекты. извините за назойливость, просто хочу решить проблему ![]() Последний раз редактировалось kate158; 18.06.2009 в 15:04. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
![]()
не назначайте никаких ключей, сделайте просто по одному полю числового типа в каждой таблице и свяжите эти таблицы по этим поля с помощью условия в запросе. а дальше как обычным способом добвляете данные и всего делов-то
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
![]()
вот мой запрос.
Код:
КАК ЗДЕСЬ МОЖНО СВЯЗАТЬ fullobject (NUM_REP) с object (NUM_REP) ? чего то я не догоняю Последний раз редактировалось kate158; 18.06.2009 в 15:35. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
![]()
поступите другим способом. в свойстве SQL компонента ADOQuery1 пропишите
Код:
Код:
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
![]()
Получается такая тема. В обеих таблицах будут записи повторяться. И даже если их связать по одинаковому NUM_REP, то количество их не измениться.Т.е. када пользователь захочет выбрать одну группу с одним именем (т.е. допустим, одну запись в таблице OBJECT), он выберет выпадающий список, в тотором будут повторяться одинаковые ЗАПИСИ. Блин, наверно Я коряво объясняю, т.к. тему вижу.
|
![]() |
![]() |
![]() |
#10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Катя, а прикрепи ка сюда в архиве свой проектик.
Ато так на слух определить что ты там затеяла мне лично трудновато...
I'm learning to live...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связь многие-ко-многим | andirock2112 | БД в Delphi | 10 | 12.04.2009 22:05 |
Многие ко многим | ("")(Э_Є)("") | БД в Delphi | 1 | 12.03.2009 01:18 |
связь с календарём | Косtян | Помощь студентам | 2 | 06.11.2008 14:51 |
Связь с БД | Elena | БД в Delphi | 4 | 03.05.2007 16:08 |