|
|
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
Добрых суток, Собственно сам сабж. (я не программист, я системный администратор) Имеется класс Код: pascal 1. 2. 3. 4. Имеем динамический массив Код: pascal 1. 2. ... тут действия с массивом, установка его размера и занесение в него данных ... Пытаюсь записать в BLOB Код: 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. Вроде записывает все ок тут Но вот как считать правильно? Пытаюсь так Код: 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. И получаю ошибку вида: --------------------------- Debugger Exception Notification --------------------------- Project alladmin.exe raised exception class EAccessViolation with message 'Access violation at address 00405864 in module 'alladmin.exe'. Read of address 01DBE13C'. Process stopped. Use Step or Run to continue. --------------------------- OK Help --------------------------- Я так понимаю надо задать размер массива , а как это сделать? это ж надо как то вычислить размер , я не совсем догоняю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 09:15 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
FIL23, 1. используй TIBSQL, зачем тебе эта TIBQuery. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 2. Хер тебе, а не запись массива в блоб Код: pascal 1. 2. 3. 4. 5. 6. 7. Строки хранятся "совсем в другом месте", а не в самой записи. В самой записи - только указатель на строку. Используй паскалевские строки, с указанием их размеров. А не дельфийские. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 09:40 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
FIL23 Но вот как считать правильно? п.1 Сначала нужно записать количество записей, а перед чтением прочитать это количество. Плюс, либо ёёёёё Используй паскалевские строки, с указанием их размеров. А не дельфийские. Либо вручную писать каждый record, а строку писать аналогично п.1 - сначала длину строки, затем её содержимое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 09:47 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
про TIBSQL кто с чем привык работать. я тут уже куча строк написал на TIBQuery, в будущих проектах попробую посмотреть в сторону TIBSQL Про string. Что там не так , можно поподробней? т.е. я должен писать string[255] ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 09:50 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
FIL23 Про string. Что там не так , можно поподробней? Современная строка это ссылка на кусок памяти, где символы этой строки. FIL23 т.е. я должен писать string[255] ? Типа того. Чем меньше, тем лучше для базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 09:57 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 10:09 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
Хорошо, у меня есть написанная та же функция с записями стринг полей, оставлю тут , мало ли кому пригодится тут добавляется и числа и строки Код: 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. т.е. ваш совет динамический массив заганять в цикл и записывать уже построчно в BLOB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 10:17 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
FIL23 у меня есть написанная та же функция с записями стринг полей Код: pascal 1. - не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 10:24 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 11:10 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
FIL23, в чем вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 11:20 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
ну там показано как с record поступать. А с массивом как? В цикл его разворачивать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 11:48 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
FIL23, при чем тут "в цикл". Хоть одну запись. Если у тебя структура содержит ссылку - ты должен отработать этот момент. Если, конечно, тебя интересует, на что эта ссылка указывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 11:53 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
FIL23 А с массивом как? В цикл его разворачивать ? Если там есть ссылочные типы (строки, динамические массивы и т.п.) или записи с ними, то сначала записать количество элементов, потом элементы в цикле, при этом ссылочные типы сохраняются отдельно каждый. Если там простые типы (или записи из простых типов), то сначала количество элементов (опционально, для удобства чтения), потом весь массив одним куском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 14:35 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
Код: 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. FIL23 Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 15:37 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Зачёт! Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 18:18 |
|
||
|
Как записать/ прочитать динамический массив в BLOB поле
|
|||
|---|---|---|---|
|
#18+
alekcvp, А потом этот код будет отсюда скопипащщен и включен в новый функционал Delphi 10.3.4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 20:13 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39896079&tid=2038810]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
186ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 482ms |

| 0 / 0 |
