|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
Всем привет! Пользую компоненты UNIDAC для доступа к БД SQLite. Там таблица messages Код: plsql 1. 2. 3. 4. 5. 6.
send_timestamp содержит значение int64 При попытке чтения поля send_timestamp получаю неверное значение, похоже что просто int. Код: pascal 1.
Подскажите, пжалста, как лечить? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 12:29 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
удалил повтор ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 12:33 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
segor Всем привет! Пользую компоненты UNIDAC для доступа к БД SQLite. Там таблица messages Код: plsql 1. 2. 3. 4. 5. 6.
send_timestamp содержит значение int64 При попытке чтения поля send_timestamp получаю неверное значение, похоже что просто int. Код: pascal 1.
Подскажите, пжалста, как лечить? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 13:01 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
ъъъъъ, эммм... ну в SQLite оно объявляется как INTEGER ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 13:12 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
Скорее всего надо в таблице нормально объявить, тогда юнидак увидит, что это беззнаковое целое. В крайнем случае у юнидака есть настройки типа Data Mapping, и там вручную можно указать, у какой колонки какой тип данных должен быть использован. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 14:19 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
Для того, чтобы поле "send_timestamp" было представлено типом LargeInt Вы можете применить один из 3-х способов : 1) использовать опцию соединения IntegerAsLargeInt : https://www.devart.com/unidac/docs/using-sqlite.htm 2) использовать DataTypeMapping, например Код: pascal 1. 2. 3. 4.
3) объявить поле "send_timestamp" в таблице "messages" как BIGINT ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 15:21 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
JayDi, К сожалению, в БД ничего менять нельзя. Нужно как-то решать на клиенте. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 16:20 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
devart, Пробовал через редактор свойств компонента query прописать 2 правила data type mapping. Общее и для конкретного поля. Не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 16:22 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
скрины значений поля из базы и из дебаггера: ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 16:36 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
devart Для того, чтобы поле "send_timestamp" было представлено типом LargeInt Вы можете применить один из 3-х способов : 1) использовать опцию соединения IntegerAsLargeInt : https://www.devart.com/unidac/docs/using-sqlite.htm 2) использовать DataTypeMapping, например Код: pascal 1. 2. 3. 4.
3) объявить поле "send_timestamp" в таблице "messages" как BIGINT по п.1 такую опцию не нашел у TUNIConnection. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 16:50 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
segor, после настройки дата меппинга надо пересоздать поля в датасете (если они были созданы до этого). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 17:18 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
Опция соединения IntegerAsLargeInt была добавлена в последней версии UniDAC 9.0.1. Таким образом, если изменять тип поля в БД нельзя и Вы используете одну из устаревших версий UniDAC, единственным способом решения является использование DataTypeMapping ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2021, 17:52 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
segor devart, Пробовал через редактор свойств компонента query прописать 2 правила data type mapping. Общее и для конкретного поля. Не помогло. ну вот такой способ у меня не работает. Или я что-то не так указал? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 10:19 |
|
SQLite UniDAC и Int64
|
|||
---|---|---|---|
#18+
Следующий фрагмент кода демонстрирует применение правила DataTypeMapping для поля 'send_timestamp' : Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 19:11 |
|
|
start [/forum/topic.php?fid=58&msg=40105220&tid=2036943]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 285ms |
total: | 418ms |
0 / 0 |