|
|
|
Поругайте алгоритм работы с SQL в проекте ADP
|
|||
|---|---|---|---|
|
#18+
От прошлого програмиста досталась небольшая база, вся ее работа базируется на главно алгоритме взаимодействия с SQL сервером: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. Как вы смотрите на такую организацию работы с данными? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 15:37:15 |
|
||
|
Поругайте алгоритм работы с SQL в проекте ADP
|
|||
|---|---|---|---|
|
#18+
в принципе логично использовать нечто подобное если часто используется ... тока если создаются объекты типа конекшен и рекордсет то их ОБЯЗАТЕЛЬНО надо закрывать и уничтожать иначе память кончится рано или поздно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 15:41:33 |
|
||
|
Поругайте алгоритм работы с SQL в проекте ADP
|
|||
|---|---|---|---|
|
#18+
Разве после выхода из функций где они были созданы они мами не уничтожаются автоматом? Есть этот же самый проект написаный на VB с минимальными различиями в коде, вот там память отъедается весьма и весьма! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 15:56:25 |
|
||
|
Поругайте алгоритм работы с SQL в проекте ADP
|
|||
|---|---|---|---|
|
#18+
>Разве после выхода из функций где они были созданы они мами не уничтожаются автоматом? Вообщето должны,только не при выходе из функции, а когда не останется ни одной ссылки на них В принципе если ссылка находится в переменной объявленной в функции и эта переменныя не Static то по завершениии переменная уничтожается , а следовательно должен уничтожится и объект но практика показавает, что такие объекты как Connection и Recordset могут дотавить много хлопот поэтому .Close SET =Nothing PS Ты видиш суслика?Я тоже не вижу,но он есть. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 16:31:11 |
|
||
|
Поругайте алгоритм работы с SQL в проекте ADP
|
|||
|---|---|---|---|
|
#18+
критикую: 1) сама функция ничего не возвращает 2) возврат через параметр обычно чуть хуже возврата значения функции 3) рекордсет пытаются использовать даже там, где он не нужен. -------------- я бы разделил на 3-4: а) ExecDML b) GetDBArray b') ExecOneRec ( ... ) c) getRecordSet ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 17:39:52 |
|
||
|
Поругайте алгоритм работы с SQL в проекте ADP
|
|||
|---|---|---|---|
|
#18+
Victosha возврат через параметр обычно чуть хуже возврата значения функции Это чем же? Victosha рекордсет пытаются использовать даже там, где он не нужен. Почему? Victosha я бы разделил на 3-4: а) ExecDML b) GetDBArray b') ExecOneRec ( ... ) c) getRecordSet А расписать? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2004, 15:44:08 |
|
||
|
Поругайте алгоритм работы с SQL в проекте ADP
|
|||
|---|---|---|---|
|
#18+
Люди! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 08:57:56 |
|
||
|
Поругайте алгоритм работы с SQL в проекте ADP
|
|||
|---|---|---|---|
|
#18+
по поводу функций... они обычно что-нить возвращают... и их используют как some_value=my_func(some_parameters) у Вас функция хоть и заявлена, как возвращающая Long, однако, не возвращает ничего, тогда как можно было бы, чтоб возвращала хотя-бы recordset. Она и возвращает, но так, как возвращала бы процедура. Согласен с Pantalone... это криво. К тому же... не все запросы возвращают рекордсеты. Есть SQL, а есть и DML, Это, мне кажется, имелось в виду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 09:28:03 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32791739&tid=1670213]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 354ms |

| 0 / 0 |
