|
|
|
тихо шифером шурша...
|
|||
|---|---|---|---|
|
#18+
имею таблицу modules она содержит в себе скрипты для интерфейса. при каждом запуске программы я обновляю эту таблицу и все прекрасно работает. но сегодня я решил залесть в процедуру обновления и малеха поправить. то что я там увидел поразило мое воображение. а именно. все мои интервейсные скрипты лежат в отдельных файлах в специальной папке. и процедура должна поочереди эти файлы брать и складывать в таблицу их содержимое предварительно эту таблицу очистив. но загвоздка в том что по моей тупости очистка таблицы находится не _до_ цикла а _внутри_ него. и работает. уже пол года. вот текст на делфи: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. что скажете? firebird1.0.2 @ freebsd4.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 21:59 |
|
||
|
тихо шифером шурша...
|
|||
|---|---|---|---|
|
#18+
Видимо код сильно урезан по отношению к реалу! Конструкция вида: delete from ... должна выполняться через ExecSQL(для FIBPlus не знаю имя метода), и соо-но Open должен выдавать ошибку. Хотя, мож в плюсах это решено по другому. С уважением, Denis Uskov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 07:29 |
|
||
|
тихо шифером шурша...
|
|||
|---|---|---|---|
|
#18+
код взят прямо с реала и составляет роцн\ентов 80-90 от процедуры. могу всё кинуть, да только смысла нет, думаю. по поводу .open; все работает. нормально, тоесть так как мне нужно, после запуска в таблице появляется новая копия папки. причем primary key уменя modulename тоесть два одинаковых скрипта в таблице быть немогут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 07:57 |
|
||
|
тихо шифером шурша...
|
|||
|---|---|---|---|
|
#18+
Вобще прально говорят - Open подразумевает использование команды SELECT. Почему бы DELETE FROM ... не засунуть в DeleteSQL. И ещё я точно не могу сказать, но TFIBDATASET возможно является абстрактным классом. Можно попробовать использовать TpFIBDATASET ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 12:05 |
|
||
|
тихо шифером шурша...
|
|||
|---|---|---|---|
|
#18+
и еще я точно могу сказать что все работало, работает и работать будет. у меня вся программа построена на трех компонентах: TFIBDATABASE TFIBTRANSACTION TFIBDATASET причес первый в единственном экзэмпляре а второй как получится, обычно используется хотя вы сами видите как используется не о том речь. речь о том что когда завершается транзакция операция delete происходит всего одна, перва. имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 12:24 |
|
||
|
тихо шифером шурша...
|
|||
|---|---|---|---|
|
#18+
Ради прикола проверил Open - РАБОТАЕТ с "delete from ..." ????? Сильно удивился, потому как DBGrid выглядит в это время ... непонятно По программе, приведи весь код, потому как в теории после такой процедуры должны остаться данные только последнего Код: plaintext 1. поэтому надо посмотреть! С уважением, Denis Uskov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 13:16 |
|
||
|
тихо шифером шурша...
|
|||
|---|---|---|---|
|
#18+
вот весь код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. в файлах гаходится такие тексты: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. но... _работало_ сейчас я исправил, но факт... кстати насчет платформы я прогнал. платформа: winnt40 & FireBird1.5rc5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 13:35 |
|
||
|
тихо шифером шурша...
|
|||
|---|---|---|---|
|
#18+
Вобще-то я тут по крайней мере 3 момента земетил нехороших - нет явного запуска транзакций это раз, нет обработки ошибок - это 2 и 3 - сам алгоритм: зачем вобще удалять эту запись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 13:56 |
|
||
|
тихо шифером шурша...
|
|||
|---|---|---|---|
|
#18+
а как стартовать транзакцию? это раз в моих программах ошибок не бывает :-) это два. хотя надо подумать... и какую запись зачем удалять? у меня там много записей. и они все удаляются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 14:11 |
|
||
|
тихо шифером шурша...
|
|||
|---|---|---|---|
|
#18+
автор писал:а как стартовать транзакцию? это раз Код: plaintext 1. 2. Опять прикалываешься автор писал:в моих программах ошибок не бывает :-) это два. хотя надо подумать... Ого, очень приятно познакомиться с таким великим программистом автор писал:и какую запись зачем удалять? у меня там много записей. и они все удаляются. Ну зачем много записей удалять? Почему нельзя сделать UPDATE на существующие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 14:30 |
|
||
|
тихо шифером шурша...
|
|||
|---|---|---|---|
|
#18+
по поводу третьего. а если я удалил какойто скриптик? или добавил? нетуж, мне сложности не нужны. а что дает Код: plaintext 1. 2. 3. кроме шуток, первый раз слышу. всегда commit да rollback импользовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 14:48 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32306206&tid=1579758]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
170ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 480ms |

| 0 / 0 |
