|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.06.2009, 12:17 | #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. |
18.06.2009, 14:21 | #2 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
а само значение в поле NUM_REP в обих таблицах как заносите? не автоикрементного они типа?
|
18.06.2009, 14:41 | #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. |
18.06.2009, 14:53 | #4 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
тогда просто заносите данные как в обычные поля, только в данном случае сделать проверку, что бы пользователь мог только цифры вводить в поля NUM_REP. я обычно заносил данные таким способом:
ADOQuery1.insert; ADOQuery1.FieldByaName('NUM_REP').A sInteger:=StrToInto(edit1.text); ADOQuery1.Post; |
18.06.2009, 15:00 | #5 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
ЭММММ....
вопрос не в том какого типа данные. если все сделать без ключей, то добавлются записи. но мне именно нужно с первичным и внешним ключом.\чтоб потом при выборе лукап поля по одному названию пользователь мог увидеть все объекты. извините за назойливость, просто хочу решить проблему Последний раз редактировалось kate158; 18.06.2009 в 15:04. |
18.06.2009, 15:10 | #6 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
не назначайте никаких ключей, сделайте просто по одному полю числового типа в каждой таблице и свяжите эти таблицы по этим поля с помощью условия в запросе. а дальше как обычным способом добвляете данные и всего делов-то
|
18.06.2009, 15:24 | #7 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
вот мой запрос.
Код:
КАК ЗДЕСЬ МОЖНО СВЯЗАТЬ fullobject (NUM_REP) с object (NUM_REP) ? чего то я не догоняю Последний раз редактировалось kate158; 18.06.2009 в 15:35. |
18.06.2009, 15:42 | #8 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
поступите другим способом. в свойстве SQL компонента ADOQuery1 пропишите
Код:
Код:
|
18.06.2009, 15:56 | #9 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
Получается такая тема. В обеих таблицах будут записи повторяться. И даже если их связать по одинаковому NUM_REP, то количество их не измениться.Т.е. када пользователь захочет выбрать одну группу с одним именем (т.е. допустим, одну запись в таблице OBJECT), он выберет выпадающий список, в тотором будут повторяться одинаковые ЗАПИСИ. Блин, наверно Я коряво объясняю, т.к. тему вижу.
|
18.06.2009, 16:00 | #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 |