![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ORDER BY (Query1.Edit) Cannot modify a read-only dataset [D7, Paradox]
azl © (2007-12-09 15:51:00)Зравствуйте!
Помогите решить проблему. Облазил весь Интернет, но толкового ответа так и не нашел. Когда добавляю в SQL-запрос ORDER BY, то при Query1.Edit выскакивает сообщение Cannot modify a read-only dataset. При этом RequestLive := True; Если убираю ORDER BY, все нормально работает.
Что нужно сделать, чтобы можно было редактировать запись и не было этого сообщения?
Заранее спасибо.
azl (2007-12-09 17:51:00) [1]
> Johnmen © (09.12.07 17:47) [14]
> В чем сложность прописать все нужные поля?
Сложности нет. Т.е., если у меня 30 полей, я каждое из них должен прописать?
Johnmen (2007-12-09 17:49:00) [2]
> > Но 100 полей говорит о кривом проектировании, например.
> Ой ли? Ну есть у нас сущность в 100 полей, и что?
То, что криво спроектировано.
azl (2007-12-09 17:47:00) [3]
> Johnmen © (09.12.07 16:33) [5]
> И врать не надо, здесь этого не любят.
Вот везде такие темы и встречаются, где все отвечают заумными и совершенно не конкретными фразами. Нафлудят по 100 сообщений, а четких ответов, тем более, с примерами, хрен найдешь.
> Anatoly Podgoretsky © (09.12.07 17:42) [13]
Ну Ваша манера отвечать на вопросы всем известна, поэтому я не удивляюсь. Практически никогда не говорите по делу, а только так как в этой теме. Вам общения не хватает?
Johnmen (2007-12-09 17:47:00) [4]
> azl © (09.12.07 17:32) [11]
> Ага, и как я угадаю, какое поле захочет
> изменить пользователь?
Причем тут гадание?
Ты программу пишешь? Ты предметную область знаешь?
Ну вот и исходи из неё.
В чем сложность прописать все нужные поля?
Anatoly Podgoretsky (2007-12-09 17:42:00) [5]> azl (09.12.2007 17:32:11) [11]
Сдается мне, что это ты издеваешься над нами.
b z (2007-12-09 17:37:00) [6]
> Но 100 полей говорит о кривом проектировании, например.
Ой ли? Ну есть у нас сущность в 100 полей, и что? Разбить на 2/3/4/5... чтоб удовлетворить неким условиям?
azl (2007-12-09 17:32:00) [7]
> Johnmen © (09.12.07 17:22) [9]
> Все, значения которых могут быть изменены.
Ага, и как я угадаю, какое поле захочет изменить пользователь?
> Но 100 полей говорит о кривом проектировании, например.
Я пример привел. У меня 32 поля.
> Anatoly Podgoretsky © (09.12.07 17:22) [10]
Я понимаю, что вы серьезный программист, но ваши ответы не несут совершенно никакой смысловой нагрузки. Или Вам интересно поиздеваться над людьми?
Johnmen (2007-12-09 17:22:00) [8]
> azl © (09.12.07 17:07) [6]
> Это если у меня, например, 100 полей, я должен кадое прописывать
> в ModifySQL?
Все, значения которых могут быть изменены.
Но 100 полей говорит о кривом проектировании, например.
Anatoly Podgoretsky (2007-12-09 17:22:00) [9]> azl (09.12.2007 17:19:08) [8]
Будешь вопросами отмалчиваться.
azl (2007-12-09 17:19:00) [10]
> Anatoly Podgoretsky © (09.12.07 17:15) [7]
В смысле?
Anatoly Podgoretsky (2007-12-09 17:15:00) [11]У тебя компоненты используются?
azl (2007-12-09 17:07:00) [12]
> Johnmen © (09.12.07 16:33) [5]
Я не вру. Может просто не то ищу, что надо. Если бы я нашел, вопросы бы не задавал здесь.
> Это значит, что надо читать справку.
> RequestLive+F1 - See also - Updating a read-only result
> set
Почитал, спасибо. Я понял, что нужно использовать UpdateSQL. Только не совсем понятно, что нужно писать в DeleteSQL, InsertSQL, ModifySQL.
Set ModifySQL to the SQL UPDATE statement to use when applying an updated record to a dataset. Statements can be parameterized queries. To create a UPDATE statement at design time, use the UpdateSQL editor to create statements, such as:
UPDATE "Country.db"
SET Name = :Name, Capital = :Capital, Continent = :Continent
WHERE Name = :OLD_Name
At run time, an application can write a statement directly to this property to set or change the UPDATE statement.
Note:
As the example illustrates, ModifySQL supports an extension to normal parameter binding. To retrieve the value of a field as it exists prior to application of cached updates, the field name with 'OLD_'. This is especially useful when doing field comparisons in the WHERE clause of the statement.
Это если у меня, например, 100 полей, я должен кадое прописывать в ModifySQL?
Johnmen (2007-12-09 16:33:00) [13]
> Это значит, что ничего нельзя сделать?
Это значит, что надо читать справку.
RequestLive+F1 - See also - Updating a read-only result set
> Облазил весь Интернет, но толкового ответа так и не нашел.
И врать не надо, здесь этого не любят.
Anatoly Podgoretsky (2007-12-09 16:22:00) [14]> azl (09.12.2007 16:08:02) [2]
Я тоже могу задавать вопросы, мне можно, а вот тебе отвечать положено.
Reindeer Moss Eater (2007-12-09 16:18:00) [15]Нужен индекс по всему ордербаю. Но может и не помочь.
azl (2007-12-09 16:08:00) [16]
> Anatoly Podgoretsky © (09.12.07 15:58) [1]
Это значит, что ничего нельзя сделать?
Anatoly Podgoretsky (2007-12-09 15:58:00) [17]> azl (09.12.2007 15:51:00) [0]
Парадокс