|
v7: Не могу получить значение поля TIME | ☑ | ||
---|---|---|---|---|
0
vsy
19.12.22
✎
11:16
|
К знатокам Firebird.
Из 1с через ADO записываю и получаю значения из базы Firebird В базе есть поле с типом TIME. Из 1с записываю в это поле в формате 00:00:00.0000, а при считывании этого поля получаю ерунду. Пробовал так select cast(t as char(13)) from table и так select cast(t as time) from table. В IBExpert и тот и другой вариант возвращают нормальное время. Помогите понять где косяк. |
|||
1
Fedor-1971
19.12.22
✎
11:47
|
(0) БД возвращает цифру или таки структуру с частями даты?
|
|||
2
1Сергей
19.12.22
✎
11:54
|
(1) СОМ-объект :)
|
|||
3
vsy
19.12.22
✎
12:27
|
(1)Возвращает текущую дату
|
|||
4
Fedor-1971
19.12.22
✎
13:13
|
(3) тогда нужно рыть в сторону ADO - возможно, что как-то влияет драйвер
|
|||
5
vsy
19.12.22
✎
13:28
|
(4) Как драйвер может влиять? С поля которое дата он все нормально возвращает, да и с кучи других полей с разными типами данных возвращает все нормально.Была проблема с типом BLOB (binary), но это решилось.На ровном месте какая то непонятка.
|
|||
6
Fedor-1971
19.12.22
✎
13:42
|
(5) Возможно, что драйвер может возвращать данные из поля в виде числа секунд или строки даты с универсальной датой
Попробуй проверить отладчиком "сырой" возврат данных, например, через JS скрипт (или из 1С 8). |
|||
7
vsy
19.12.22
✎
13:53
|
(5) Если бы поле было типом timestamp тогда да. Самое интересное что один и тот же запрос через ado и непосредственно в базе sql выдает разный результат. в sql возвращается время, через ado текущая дата. Я прочитал что тип TIME содержит только время, это касается диалекта 3. Я вначале на это грешил, что записываю туда без даты, но это не так.
|
|||
8
AAA
19.12.22
✎
13:54
|
Посмотри в отладчике тип значения поля
|
|||
9
vsy
19.12.22
✎
13:55
|
тип TIME
|
|||
10
vsy
19.12.22
✎
13:55
|
это в самой базе, сейчас посмотрю в отладчике.
|
|||
11
vsy
19.12.22
✎
13:59
|
Возвращет тип дата
|
|||
12
vsy
19.12.22
✎
14:18
|
Все нашел ошибку. Всем спасибо.
|
|||
13
1Сергей
19.12.22
✎
14:56
|
(12) не так быстро. А объяснить потомкам?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |