Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
ALL Гость
|
Добавлено: Ср Апр 03 2002 16:08 Заголовок сообщения: Как бороться с этим: Multiple records found, but only one was expected |
|
|
Происходит только при удалении одинаковых записей в таблице.
P.S. У меня есть журнал в который записываются события. Скажем при какой-то ошибке, записывается номер мой и запись(из 1 таблицы полностью запись в 2 таблЖурнал) с которой она произошла. Если ошибок две, то записей тоже две. Таблицы ни как не связаны. структура табл. разная. |
|
Вернуться к началу |
|
|
krakozyabl
Зарегистрирован: 18.03.2002 Сообщения: 138 Откуда: Москва
|
Добавлено: Ср Апр 03 2002 16:47 Заголовок сообщения: Re: Как бороться с этим: Multiple records found, but only one was expected |
|
|
Для этого существуют первичные ключи, батенька, удаление не может произойти потому, что у тебя в таблице скорее всего нет ключика и машинка не может однозначно определить строчечку. Рад буду, если окажусь неправ |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Чт Апр 04 2002 03:11 Заголовок сообщения: Re: Как бороться с этим: Multiple records found, but only one was expected |
|
|
в запросе идет сравнение величины и выбранной строки по select, но select возвращает НЕ ОДНУ запись. delete from t where a = select .... а надо delete from t where a in (select .... либо второй select не правильно написан. Тщательнее запрос писать надо. |
|
Вернуться к началу |
|
|
all Гость
|
Добавлено: Чт Апр 04 2002 17:34 Заголовок сообщения: Re: Как бороться с этим: Multiple records found, but only one was expected |
|
|
Я удаляю так: DM->Tlog->Delete(); А, индексы стоят regular.
А, заполняю я её из другой таблицы так: (собственно только одно поле "numd") DM->Tlog->Insert(); DM->Tlog->FieldValues["num"] = DM->Tdocum->FieldValues["numd"]; //беру из другой таблицы. DM->Tlog->FieldValues["date"] = DateToStr(Date()); DM->Tlog->FieldValues["messages"] = "нарушена связь:"; DM->Tlog->FieldValues["kod"] = "#10"; DM->Tlog->Post(); DM->Tlog->Refresh(); |
|
Вернуться к началу |
|
|
all Гость
|
Добавлено: Чт Апр 04 2002 17:37 Заголовок сообщения: ПОМОГИТЕ РАЗАБРАТЬСЯ!!!!!!!!! |
|
|
>>Я удаляю так: DM->Tlog->Delete(); >>А, индексы стоят regular. >> >>А, заполняю я её из другой таблицы так: (собственно только одно поле "numd") >>DM->Tlog->Insert(); >>DM->Tlog->Fi.. = DM->Tdocum->FieldValues["numd"]; //беру из другой таблицы. >>DM->Tlog->FieldValues["date"] = DateToStr(Date()); >>DM->Tlog->FieldValues["messages"] = "нарушена связь:"; >>DM->Tlog->FieldValues["kod"] = "#10"; >>DM->Tlog->Post(); >>DM->Tlog->Refre.. |
|
Вернуться к началу |
|
|
all Гость
|
Добавлено: Чт Апр 04 2002 19:09 Заголовок сообщения: Кстати, убрал все индексы и результат тот-же. |
|
|
. |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Пт Апр 05 2002 03:24 Заголовок сообщения: Добавь в базу поле - уникальный идентификатор (+) |
|
|
или удаляй записи с помощью query, передай нужный параметр ну и см. выше. |
|
Вернуться к началу |
|
|
ALL Гость
|
Добавлено: Пт Апр 05 2002 13:23 Заголовок сообщения: Re: Добавь в базу поле - уникальный идентификатор (+) |
|
|
как? у меня табл. не связаны! |
|
Вернуться к началу |
|
|
|