Вниз
Скачать: CL | DM;

Помогите выполнить Refresh   Найти похожие ветки 

← →
sdram ©   (2002-10-03 15:38) [0]

При попытке вызвать myTADODataSet.Refresh Ругается "Недостаточно сведений ключевого поля для обновления" но если перечитать Close Open все нормально. О каком ключевом поле идет речь?

myTADODataSet построен на основании запроса:
SELECT *
FROM t_name, t_name_c, t_above, t_above_c, t_arch, t_arch_c, t_glass, t_glass_c, t_part, t_part_c, t_perf, t_perf_c, t_seal, t_seal_c, t_thr, t_thr_c, t_open, t_open_c, t_Internal, t_Internal_c
WHERE t_name_c.code=t_name.code AND t_name_c.code=7 AND t_above_c.id=t_name_c.id AND t_above.code=t_above_c.code AND t_arch_c.id=t_name_c.id AND t_arch.code=t_arch_c.code AND t_glass_c.id=t_name_c.id AND t_glass.code=t_glass_c.code AND t_part_c.id=t_name_c.id AND t_part.code=t_part_c.code AND t_perf_c.id=t_name_c.id AND t_perf.code=t_perf_c.code AND t_seal_c.id=t_name_c.id AND t_seal.code=t_seal_c.code AND t_thr_c.id=t_name_c.id AND t_thr.code=t_thr_c.code AND t_open_c.id=t_name_c.id AND t_open.code=t_open_c.code AND t_Internal_c.id=t_name_c.id AND t_Internal.code=t_Internal_c.code
ORDER BY t_name_c.id;

Структура таблиц такова:
типа t_name_c (id, code)
типа t_name (code, name)


← →
Prooksius ©   (2002-10-03 15:49) [1]

Так и не поборол ты свой монстровский запрос? :)
Сделай на датасете RightClick, Fields Editor.
У тебя там все поля согласно данному запросу или ты некоторые поубивал? Если поубивал - добавь и попробуй так.


← →
sdram ©   (2002-10-03 15:56) [2]

У меня запрос при выполнении формируется, и в Fields Editor -е я поля не добавлял, потому как потом других полей не увижу


← →
sdram ©   (2002-10-03 16:00) [3]

Если уж в Запросе
SELECT *
значит все поля на месте в т. ч. и ключевые.


← →
Prooksius ©   (2002-10-03 16:00) [4]

У тебя определены Primary Keys для всех этих таблиц?
Дай скрипты 2 таблиц разного типа.


← →
sdram ©   (2002-10-03 16:04) [5]

Что за скрапты такие, где взять их?


← →
Prooksius ©   (2002-10-03 16:12) [6]

2 sdram © (03.10.02 16:04)
Ну хотя бы ответь на 1 вопрос.


← →
sdram ©   (2002-10-03 16:14) [7]

В каждой из таблиц есть ключевые поля.


← →
Prooksius ©   (2002-10-03 16:23) [8]

Есть такая идея.
Возможно, у тебя запрос возвращает дубликаты данных. Совершенно одинаковые строки. Т.е. ты неправильно объединяешь таблицы в запросе.
Пример: select R.Name from Rank R, Person P where R.ID = 9
этот запрос выдаст столько R.Name, сколько строк в Person. и Все Name одинаковые (ID = 9).

Проанализируй свой запрос и проверь? что у тебя есть после where.


← →
sdram ©   (2002-10-03 16:24) [9]

Точно у меня при выполнении создалась таблица с неопределенным Primary Key . Все заработало. Большее спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.014 c
3-78303
JohnBurg
2002-10-02 22:18
2002.10.24
Почему не освобождается база


3-78246
Kaginava
2002-10-02 10:56
2002.10.24
InterBase6.5


14-78647
Tornado
2002-10-04 08:16
2002.10.24
Кто сколько зарабатывает?


1-78363
начинающий програмер
2002-10-12 08:34
2002.10.24
Ну очень росто


4-78727
dimanew
2002-09-12 09:01
2002.10.24
Исп-ю ф-ии FindFirstFile, FindNextFile гоняю в цикле.Нужно ли




   Наверх