|
|
|
SQLQuery редактирование
|
|||
|---|---|---|---|
|
#18+
делаем выборку Код: pascal 1. 2. 3. 4. редактируем записи Код: pascal 1. 2. 3. 4. 5. 6. Можно как то по другому? видел где то Код: pascal 1. 2. 3. 4. 5. 6. 7. Но у меня вылетает ошибка: нельзя редактировать, read-only ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2018, 16:00 |
|
||
|
SQLQuery редактирование
|
|||
|---|---|---|---|
|
#18+
ProstoChel Код: pascal 1. Это что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2018, 16:24 |
|
||
|
SQLQuery редактирование
|
|||
|---|---|---|---|
|
#18+
ProstoChel, ProstoChelредактируем записи if (SQLQuery1.RecordCount > 0) then begin SQLQuery1.First; SQLQuery1.SQL.Add('UPDATE '........); SQLQuery1.ExecSQL; end; Ужас какой. Во-первых, зачем тут First. Во-вторых, если SQLQuery1 использован для выборки, то SQL.Add ДОБАВИТ строку запроса к тому, что уже есть в свойстве SQL, и там получится каша из select ... update, которую сервер скорее всего не выполнит. ProstoChelМожно как то по другому? видел где то if (SQLQuery1.RecordCount > 0) then begin SQLQuery1.First; SQLQuery1.Edit; опять же, при чем тут First? Вы только первую запись редактировать собрались? А SQLQuery1.Edit сработает только в том случае, если где-то или явно задан оператор update для редактирования текущей записи, или сами компоненты (или драйвер) умеют такой Update генерировать автоматически (при существенно ограниченном варианте исходного select). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2018, 17:26 |
|
||
|
SQLQuery редактирование
|
|||
|---|---|---|---|
|
#18+
ProstoChelвидел где то Код: pascal 1. 2. 3. 4. Это вы путаете SQL-запросы и ISAM-таблицы таблицы КАЖУТСЯ нагляднее но их работа принципиально ДРУГАЯ чем у SQL да, есть компоненты, которые пытаются создать ИЛЛЮЗИЮ таблиц поверх SQL, например для ваших dbExpress - это может быть TSimpleDataSet поверх TClientDataSet, TProviderXXX. Или в составе ibExpress есть TIBQuery и TIBTable. но цена за это - от тормозов до внезапно возникающих ошибок, когда программа ведёт себя не так, как ожидается, а чтобы эту ошибку поймать - нужно всё-таки заставить себя разобраться уже не только в сути SQL но и вдобавок к тому ещё какими конкретно способами создаётся иллюзия (и почему в вашем случае она создалась неправильно). Много лет назад свою первую коммерческую программу еще на Interbase 5.6 и BDE я именно так и писал, на TTable. Написал половину - и потом второпях по ночам переделывал. Да, было удобно и просто, но программа себя стала вести непредсказуемо. В унаследованной программе сейчас есть блок настроек, с тем самым SQLQuery и TSimpleDataset - и там ещё типовые для ISAM-таблиц отношения Master-Detail. И конечно же никаких транзакций. В итоге это много-вкладочное окно начало само себя подвешивать. И я неделю отслеживал и расшивал разные варианты действий пользователя, чтобы разобраться и расшить эти само-блокировки. Но лучше бы вам мне не поверить и всё-таки попытаться по-простому, по-табличному. Когда ваша программа у вас на глазах перестанет быть понимаемой и управляемой - этот опыт стоит того Есть такой автор, П. В. Шумаков, и у него две версии книги о разработке программ с базами данных, для Delphi 3 и Delphi 5. Последняя например вот-тут упомянута: http://www.ibase.ru/articles/ ОЧЕНЬ рекомендую найти и прочитать, по крайней мере версию c Delphi 3 (надеюсь, что версию для Delphi 5 он не испортил, но ясам не читал). Наплевать, что там все версия программ старые и компоненты, это совершенно не важно. Вам нужен букварь по азам и "прочистка мозга", понимание самых основ, пока не испортили программу "от оснований". Поймете основы - библитеки по вкусу сами подберёте. И как вводный курс та книжка про Delphi 3 была просто шикарна, бессмернтая IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2018, 12:50 |
|
||
|
SQLQuery редактирование
|
|||
|---|---|---|---|
|
#18+
В интернете нашёл одно решение: ClientDataSet1-DataSetProvider1-SQLQuery1 Будет как то там Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2018, 14:12 |
|
||
|
SQLQuery редактирование
|
|||
|---|---|---|---|
|
#18+
ProstoChel, да-да, именно про это я и писал, потом у тебя будет пара десятков таблиц с автоматическими зависимостями между ними, потом ты начнёшь при закрытии окна настроек им всем сразу ApplyUpdate делать.... кстати, в твоем коде они не применили изменения, а только зарегистрировали, что хотят их применить. потому что ещё с транзакциями надо работать "там обрыв. Мост рухнул. Но Вам туда можно" (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2018, 15:12 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39688242&tid=2040520]: |
0ms |
get settings: |
12ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 508ms |

| 0 / 0 |
