On-line: Vlad04,гостей 4. Всего: 5 [подробнее..]
АвторСообщение
постоянный участник




Пост N:5086
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:06.09.16 17:52.Заголовок:[?] Создаю индекс по типу поля "="


Создаю индекс по новому типу поля "=" - TimeStamp дата+время+миллисекунды
DbSeek() почему то не хочет с ним работать ?
Или нельзя напрямую работать с такими типами ?

В базе сделал поле {"TS" ,"=", 8, 0 }

Вот мой код:
SELECT DBF2TEST
INDEX ON "TS" TAG TS TO ( cFileIndex2 )
tStatTimeStamp := HB_DATETIME()

....
SELECT DBF2TEST
OrdSetFocus( "TS" )
? tStatTimeStamp, RECNO(), DBF2TEST->TS, EOF()
dbSeek(tStatTimeStamp, .T. ) // Set softseek on
? "dbSeek(, .T. )=", RECNO(), EOF(), FOUND()
DO WHILE !EOF()
IF DBF2TEST->TS >= tStatTimeStamp
AADD( aRec, RECNO() )
ENDIF
dbSkip(1)
ENDDO


Массив aRec не создаётся...
Хотя вывожу в лог:
StatTimeStamp := 2016-09-06 16:38:43.547
Первое поле в базе = 2016-09-06 16:38:58.824

Что не так делаю ?
Harbour последний, из MiniGUI...

Спасибо: 0 
ПрофильЦитата Ответить
Ответов -8 [только новые]


постоянный участник




Пост N:5087
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:06.09.16 18:45.Заголовок:Вот ещё сделал прове..


Вот ещё сделал проверку.
Проверяю индекс - 2 OrdName: TS OrdKey: "TS" - всё нормально !
tStatTimeStamp = 18:46:17.848, RECNO()=1, DBF2TEST->TS = 2016-09-06 18:46:29.244, EOF()=.F.
делаем dbSeek(tStatTimeStamp, .T. ), результат: RECNO()=1001, EOF()=.T., FOUND()=.F.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N:5088
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:07.09.16 19:26.Заголовок:А как переменную HB_..


А как переменную HB_DATETIME() преобразовать в число ?
Наверное dbSeek(tStatTimeStamp, .T. ) не поддерживает этот тип переменных, я тогда сделаю числовой индекс.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N:1290
Зарегистрирован:09.10.06
ссылка на сообщение  Отправлено:07.09.16 23:07.Заголовок:Andrey пишет: INDEX..


Andrey пишет:

 цитата:
INDEX ON "TS" TAG TS TO ( cFileIndex2 )


INDEX ON TS TAG TS TO ( cFileIndex2 )

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N:5089
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:08.09.16 00:12.Заголовок:Петр пишет: INDEX O..


Петр пишет:

 цитата:
INDEX ON TS TAG TS TO ( cFileIndex2 )


Как обычно... на простом месте
Спасибо !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N:5090
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:08.09.16 12:51.Заголовок:Выдаёт ошибку при сб..


Выдаёт ошибку при сборке:
Harbour 3.2.0dev (r1607181832)
Copyright (c) 1999-2016, http://harbour-project.org/
Form_Dbf.prg(560) Warning W0001 Ambiguous reference 'XID'
Form_Dbf.prg(561) Warning W0001 Ambiguous reference 'TS'
No code generated.
hbmk2[dbf_to_PostgreSQL]: Error: Running Harbour compiler (embedded). 1


Текст программы на этих строчках:
INDEX ON XID TAG XID TO ( cFileIndex1 ) ADDITIVE
INDEX ON TS TAG TS TO ( cFileIndex2 ) ADDITIVE

Я собираю программу с ключом -prgflag=-w2 -es2
Можно конечно убрать этот ключ и так собрать, ну уж больно удобен этот ключ, ошибки сразу при сборке показывает по переменным.

Какой под этот ключ сборки будет синтаксис INDEX ON .... ?
Макроподстановку не предлагать.

Вот так тоже не прокатывает:
INDEX ON FIELD->XID TAG XID TO ( cFileIndex1 ) ADDITIVE
INDEX ON FIELD->TS TAG TS TO ( cFileIndex2 ) ADDITIVE

Индекс не создаётся ! МиниГуи вместо FIELD-> делает свою макроподстановку. На хХарборе у меня так везде работает.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N:1291
Зарегистрирован:09.10.06
ссылка на сообщение  Отправлено:08.09.16 14:42.Заголовок:Andrey пишет: INDEX..


Andrey пишет:

 цитата:
INDEX ON FIELD->XID TAG XID TO ( cFileIndex1 ) ADDITIVE
INDEX ON FIELD->TS TAG TS TO ( cFileIndex2 ) ADDITIVE


Можно попробовать так
INDEX ON _FIELD->XID TAG XID TO ( cFileIndex1 ) ADDITIVE
INDEX ON _FIELD->TS TAG TS TO ( cFileIndex2 ) ADDITIVE

Можно так
#pragma ENABLEWARNINGS=Off
INDEX ON XID TAG XID TO ( cFileIndex1 ) ADDITIVE
INDEX ON TS TAG TS TO ( cFileIndex2 ) ADDITIVE
#pragma ENABLEWARNINGS=On

Можно так
#pragma WARNINGLEVEL=1
INDEX ON XID TAG XID TO ( cFileIndex1 ) ADDITIVE
INDEX ON TS TAG TS TO ( cFileIndex2 ) ADDITIVE
#pragma WARNINGLEVEL=3

 цитата:
 
This is the list of the supported commands and switches:

* Command Switch
-----------------------------------------------
* AUTOMEMVAR =<On/Off> -a<+/->
* DEBUGINFO =<On/Off> -b<+/->
* DYNAMICMEMVAR =<On/Off> -v<+/->
* ENABLEWARNINGS =<On/Off> -w<+/->
* ESCAPEDSTRINGS =<On/Off>
* EXITSEVERITY =<nLevel> -es<nLevel>
* LINENUMBER =<On/Off> -l<+/->
* NOSTARTPROC =<nLevel> -n<nLevel> (read-only)
* PREPROCESSING =<On/Off> -p<+/->
* SHORTCUT =<On/Off> -z<+/->
* TEXTHIDDEN =<On/Off>
* TRACE =<On/Off> -p+
* WARNINGLEVEL =<nLevel> -w<nLevel>




P.S. Задавать подобный вопрос нужно было в отдельной теме


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N:6003
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:08.09.16 14:51.Заголовок:Петр пишет: P.S. За..


Петр пишет:

 цитата:
P.S. Задавать подобный вопрос нужно было в отдельной теме


двинул

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N:5092
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:08.09.16 15:15.Заголовок:Петр пишет: Можно т..


Петр пишет:

 цитата:
Можно так



Спасибо БОЛЬШОЕ !

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
-участник сейчас на форуме
-участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 390
Права: смайлыда,картинкида,шрифтыда,голосованиянет
аватарыда,автозамена ссылоквкл,премодерацияоткл,правканет