Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TUpdateQuery [D6, Paradox]


VikOss ©   (2002-10-23 17:51:00) 

Задал все нужные запросы на редактирование, добавление и удаление. Но пишет ошибку "Update failed"


VikOss   (2002-10-24 13:31:00) [1]

Я уже как пытаюсь ето делать. Спасибо.


ЮЮ   (2002-10-24 13:28:00) [2]

Сорри, Тогда создай индекспо полю сортировки , это никогда не поздно. При этом, говорят, и TQuery c order by становится редактируемым.


VikOss   (2002-10-24 13:25:00) [3]

>ЮЮ
Поздно. База уже работала (без сортировки)и в ней 3000 записей. Всё работает на SQL запросах, НУ НЕПРЕДУСМОТРЕЛ Я ЕТУ СОРТИРОВКУ! А счас мучаюсь.


ЮЮ   (2002-10-24 13:08:00) [4]

Тогда создай ключ по полю сортировки и используй для сортировки его и свою любимую TTable, а TQuery + TUpdateSql оставь специалистам :-)


VikOss   (2002-10-24 12:57:00) [5]

Вообщето мне пофиг, но с ключами не хотелось путаться в простой базе, да и задача вроде несложная-просто редактировать(добавить,удалить,изменить)записи после SQL запроса ORDER BY и всё. База уже давно работает, только сортировки небыло , И ВОТ ПРИЕХАЛ ! Когдато такой вопрос был на форуме, но его удалили :0(
Сначала база редактировалась просто : Query.Append,.Delete,.Edit. Но ето перестало работать после етой самой сортировки !


MsGuns   (2002-10-24 12:55:00) [6]

>Alexandr © (24.10.02 12:37)
>2MSGuns: Насколько я помню... хотя точно не уверен, но прийдут другие - они расскажут, вообщем готовь на всякий случай вазелин.

Уточняю,- речь идет о запросе, невозвращающем НД (ExecSQL)
А баночка готова завсегда, не изволь беспокоиться. Хотя тебе как раз это и не грозит, как я понял.. q:))))


Alexandr   (2002-10-24 12:50:00) [7]

а первичный ключ добавить религия не позволяет?


VikOss   (2002-10-24 12:46:00) [8]

> ЮЮ
Именно база данных, пускай простая, НО ИМЕННО БАЗА! Интерфейс, сортировки, фильтры, отчёты и т.д...


Alexandr   (2002-10-24 12:45:00) [9]

в цикле или отдельным запросом.


VikOss   (2002-10-24 12:43:00) [10]

Хорошо, а если мне действительно нужно удалить несколько записей, удовлетворяющих этому условию ?


ЮЮ   (2002-10-24 12:42:00) [11]

>Во первых: ключей нету, там архитектура простая(таблицы не взаимосвязаны, просто хранилище инфы)

Тогда оставь в покое Базы данных. Используй Zip - архив в качестве хранилища. И компактней, и пароль поставить можно


Alexandr   (2002-10-24 12:37:00) [12]

значит у тебя как минимум 2 записи или наоборот, ниодной записи, удовлетворяющей устовию в delete
вот и вся проблема...
P.S. А ключ всегда желательно иметь, пусть даже и синтетический.

2MSGuns: Насколько я помню... хотя точно не уверен, но прийдут другие - они расскажут, вообщем готовь на всякий случай вазелин.


VikOss   (2002-10-24 12:31:00) [13]

Во первых: ключей нету, там архитектура простая(таблицы не взаимосвязаны, просто хранилище инфы)
Во вторых: база локальная, поэтому только один юзер пашет в данный момент времени.


MsGuns   (2002-10-24 11:42:00) [14]

Прошу заранее прощения за, возможно, глупый вопрос
Дело в том, что в Paradox (3 и 4 точно) требует для запросногоудаления чтобы таблицу никто не редактировал. Может, все дело именно в ТАКОЙ блокировке ? Т.е. для удаления запросом (QBE или SQL) таблица Paradox должна быть в состоянии "Только чтение" для остальных юзеров.

Если неправ, то баночка с вазилином наготове 8))


fnatali   (2002-10-24 10:44:00) [15]

Удаляй по первичному ключу и проблем не будет
DELETE FROM Table_name WHERE id=:id


VikOss   (2002-10-24 10:27:00) [16]

Я вообще запись просто попробовал удалить. Вызов:
UpdateSQL.Exec(rnDelete);
Запрос:
DELETE FROM Table_name WHERE Name_Field="__"


Alexandr   (2002-10-24 07:10:00) [17]

или менее одной...


fnatali   (2002-10-24 06:50:00) [18]

Скорее всего здесь имеет место быть попытка обновления более чем одной записи. Первичный ключ есть? Тексты запросов в UpdateSQL приведи и структуру обновляемой таблицы.


VikOss   (2002-10-23 19:00:00) [19]

Таблицы работали без UpdateQuery, просто нужна была сортировка SQL-запросом , а он понятное дело потом не даёт редактировать табл. Я SQL правильно задал-он сначала сделает что надо а потом уже эта ошибка вылезает. Я толком незнаю как вообще правильно юзать етот UpdateQuery. А Databasename мне вообще не нужен я пользуюсь компонентом, который без BDE позволяет работать, но он ни причём, таблы хорошо видны и юзаются, всё дело именно в UpdateQuery я им никогда не пользовался.


MsGuns   (2002-10-23 18:39:00) [20]

>VikOss (23.10.02 17:51)

>Задал все нужные запросы на редактирование, добавление и удаление

Раз вылетает, то невсе. Нужно подробнее.
Попутно:
-как юзаются таблицы (что указано в Databasename) ?
-ссылки на UpdateQuery в TQuery стоят правильные ?
-SQL-запросы без ошибок ?

и т.д.


Наверх

Титульная страница Поиск, карта сайта Написать письмо