Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
18.10.2021, 12:29
|
|||
---|---|---|---|
|
|||
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:33
|
|||
---|---|---|---|
|
|||
SQLite UniDAC и Int64 |
|||
#18+
удалил повтор ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2021, 13:01
|
|||
---|---|---|---|
|
|||
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:12
|
|||
---|---|---|---|
|
|||
SQLite UniDAC и Int64 |
|||
#18+
ъъъъъ, эммм... ну в SQLite оно объявляется как INTEGER ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2021, 14:19
|
|||
---|---|---|---|
SQLite UniDAC и Int64 |
|||
#18+
Скорее всего надо в таблице нормально объявить, тогда юнидак увидит, что это беззнаковое целое. В крайнем случае у юнидака есть настройки типа Data Mapping, и там вручную можно указать, у какой колонки какой тип данных должен быть использован. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2021, 15:21
|
|||
---|---|---|---|
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, 16:20
|
|||
---|---|---|---|
|
|||
SQLite UniDAC и Int64 |
|||
#18+
JayDi, К сожалению, в БД ничего менять нельзя. Нужно как-то решать на клиенте. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2021, 16:22
|
|||
---|---|---|---|
|
|||
SQLite UniDAC и Int64 |
|||
#18+
devart, Пробовал через редактор свойств компонента query прописать 2 правила data type mapping. Общее и для конкретного поля. Не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2021, 16:36
|
|||
---|---|---|---|
|
|||
SQLite UniDAC и Int64 |
|||
#18+
скрины значений поля из базы и из дебаггера: ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2021, 16:50
|
|||
---|---|---|---|
|
|||
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, 17:18
|
|||
---|---|---|---|
SQLite UniDAC и Int64 |
|||
#18+
segor, после настройки дата меппинга надо пересоздать поля в датасете (если они были созданы до этого). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2021, 17:52
|
|||
---|---|---|---|
SQLite UniDAC и Int64 |
|||
#18+
Опция соединения IntegerAsLargeInt была добавлена в последней версии UniDAC 9.0.1. Таким образом, если изменять тип поля в БД нельзя и Вы используете одну из устаревших версий UniDAC, единственным способом решения является использование DataTypeMapping ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2021, 10:19
|
|||
---|---|---|---|
|
|||
SQLite UniDAC и Int64 |
|||
#18+
segor devart, Пробовал через редактор свойств компонента query прописать 2 правила data type mapping. Общее и для конкретного поля. Не помогло. ну вот такой способ у меня не работает. Или я что-то не так указал? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2021, 19:11
|
|||
---|---|---|---|
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.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=58&mobile=1&tid=2036943]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 146ms |
0 / 0 |