|
|
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
Всем добрый день. Написал код копирования данных из любого датасета в поля любых записей или классов. Возможно кому-то будет интересно. В плане возможных доработок, можно было бы обобщить для работы со свойствами и попробовать избавится от var при передаче параметров. Код: pascal 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. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 10:58 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
Использование: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 11:05 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 11:12 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
У меня на XE6 не взлетел, увы. Синтаксиса не хватает. Пришлось свой делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 11:56 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
makhaon У меня на XE6 не взлетел, увы. Синтаксиса не хватает. Пришлось свой делать. У меня D7 и вся ваша примочка не взлетела ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 12:09 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
DimaBr, "В Delphi 2010 появились пользовательские атрибуты, которые можно добавить к объявлениям типов и методам" D2010 минимум. Меньше, увы, никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 12:43 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
я к сожалению не могу найти ссылку, но Uwe Raabe писал, что вся его конструкция работает на >= XE8 только ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 12:53 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
Как минимум, я бы один раз сделал сопоставление поля датасета <=> поля записи, а потом бы уже в цикле вызывал makhaon Код: pascal 1. makhaon Код: pascal 1. Код: pascal 1. Далее, код будет работать только для Record. Для объектов классов будет AV Ну и остальное по мелочи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 16:07 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, авторSetLength(Result, RecordCount); Это работает точно. Ну а вообще правки принимаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 20:27 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
makhaon Это работает точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 22:12 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, IBX/UniDAC, пока все ок. А что с IBX'ом не так? Записи если отфетчить, как я в примере написал, то будет ок. Но видимо надежнее в классее Last сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2019, 22:43 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
makhaon Записи если отфетчить, как я в примере написал, то будет ок makhaon надежнее в классее Last сделать. Надежнее вот так _Vasilisk_ Нужно записи складывать в TList<T>, а потом делать Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 17:50 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
Вся эта возня с ORM-ом на коленке действительно способна сэкономить время при разработки приложения? Отсюда всё выглядит так, что проще написать десяток присваиваний, чем вот так вот прыгать с бубном. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 17:57 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
дык тут важен сам процесс. приседания ради приседаний. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 17:59 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
Тут как обычно дело хозяйское :) Хотите юзайте, хотите дописывайте, не хотите - пишите по-старинке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 20:04 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Вся эта возня с ORM-ом на коленке действительно способна сэкономить время при разработки приложения? Отсюда всё выглядит так, что проще написать десяток присваиваний, чем вот так вот прыгать с бубном. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 14:09 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Это отдельная проблема совсем. я с помощью SuperObject решаю. Есть там, правда, одина неприятная проблема (утечки), пришлось костыль дописывать, концов быстро не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 19:48 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
makhaon я с помощью SuperObject решаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 19:58 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, стандартная мне не подходит из-за непереносимости delphi <> lazarus. у нас проекты в двух средах собираются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 23:20 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
makhaon, если не секрет - а для каких ОС, которын не поддерживает делфи, собирается ваш проект на лазарусе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2019, 00:24 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
asutp2, для линукса. проекты начинались тогда, когда поддержки еще не было. ну а сейчас уже нет смысла на делфи тянуть все, под лазарем работает нормально. пока три проекта по 300-700 тысяч строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2019, 10:35 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
makhaon asutp2, для линукса. проекты начинались тогда, когда поддержки еще не было. ну а сейчас уже нет смысла на делфи тянуть все, под лазарем работает нормально. пока три проекта по 300-700 тысяч строк. Под все версии линукса? Или под конкретную сборку конкретного заказчика? Аппаратная платформа x86_64? Интересно, что сейчас используется в России в бизнесе кроме x86 :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2019, 20:47 |
|
||
|
Копирование данных из датасета в поля класса/записи
|
|||
|---|---|---|---|
|
#18+
DmSer makhaon asutp2, для линукса. проекты начинались тогда, когда поддержки еще не было. ну а сейчас уже нет смысла на делфи тянуть все, под лазарем работает нормально. пока три проекта по 300-700 тысяч строк. Под все версии линукса? Или под конкретную сборку конкретного заказчика? Аппаратная платформа x86_64? Интересно, что сейчас используется в России в бизнесе кроме x86 :) Под все :) Пока что везде удалось установить и запустить, где пробовали и нужно было - уже с десяток веток наверно. И гуевых и консольных, всяко бывает. У нас, увы, выбора нет - должно работать везде, где нужно. Разработка под Убунтой. Аппаратная 86х64, насчет других аппаратных платформ не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2019, 21:35 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39889319&tid=2038848]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
165ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 469ms |

| 0 / 0 |
