Автор | Сообщение |
|
| постоянный участник
|
Пост N: 2827
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.05.13 12:38. Заголовок: Новые типы переменных ?
Подскажите пожалуйста, а с какого времени существуют новые типы данных в базах Харбор/хХарбор ? + AutoInc 4 Auto increment = ModTime 8 Last modified date & time of this record ^ RowVers 8 Row version number; modification count of this record @ DayTime 8 Date & Time I Integer 1, 2, 3, 4 or 8 Signed Integer ( Width : )" },; T Time 4 or 8 Only time (if width is 4 ) or Date & Time (if width is 8 ) (?) V Variant 3, 4, 6 or more Variable type Field Y Currency 8 64 bit integer with implied 4 decimal B Double 8 Floating point / 64 bit binary Не заметил разницы между этими типами (или не понял): + AutoInc 4 Auto increment ^ RowVers 8 Row version number; modification count of this record Кто может разъяснить их применение ? Какой максимальный размер импорта файла для типов: M Memo P Picture B Blob V VarField Не смог записать ни в одно поле файл размером 3198 Мб через утилиту DBedit. Ошибка - Скрытый текст Application Internal Error - c:\clipbin\dbedit.exe Terminated at: 2013.05.06 13:00:49 Неисправимая ошибка 9006: hb_xgrab не может распределить память Called from MEMOREAD(0) Called from _FREAD(0) in \ts\clip50.lib\_EDITMEM.prg Called from USER(0) in \ts\clip50.lib\_EDITMEM.prg Called from (b)EDITMEMO(0) in \ts\clip50.lib\_EDITMEM.prg Called from TEXTEDIT(0) in \ts\clip50.lib\_TEXT.prg Called from EDITMEMO(0) in \ts\clip50.lib\_EDITMEM.prg Called from EDITVARFIELD(1600) in source\dbedit.prg Called from (b)GETCOL(1573) in source\dbedit.prg Called from GETBROWSE(0) in \ts\clip50.lib\_editbro.prg Called from EDITBROWSE(0) in \ts\clip50.lib\_editbro.prg Called from DBMENU(0) in \ts\clip50.lib\_dbmenu.prg Called from MAIN(821) in source\dbedit.prg
| Может что не так делаю ?
|
|
|
Ответов - 158
, стр:
1
2
3
4
5
6
7
8
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 5716
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.02.18 08:58. Заголовок: Pasha пишет: В Harb..
Pasha пишет: цитата: | В Harbour это так. А в xHarbour в функции hb_dbfUpdateStampFields время пишется и в HB_FT_TIMESTAMP, и в HB_FT_MODTIME |
| Понял я в чем дело. У меня базы работают одновременно и с терминалкой (хХарбор) и на МиниГуи (Харбор). Значит это мне терминалка пишет всякую фигню в базу. От терминалки юзера не хотят отказываться, придётся пока это поле "@" пока не трогать. Поставил в начале базы новые типы полей и все вьювера перестали работать. Нечего юзерам лазить по базам.
|
|
|
|
| |
Пост N: 1172
Зарегистрирован: 20.02.11
|
|
Отправлено: 06.02.18 20:01. Заголовок: Andrey пишет: От те..
Andrey пишет: цитата: | От терминалки юзера не хотят отказываться, придётся пока это поле "@" пока не трогать. |
| Перекомпилируй под харбур и все, можешь трогать. Все же в харбур более адекватная работа с этими полями.
|
|
|
|
| постоянный участник
|
Пост N: 5717
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.02.18 20:41. Заголовок: Haz пишет: Перекомп..
Haz пишет: цитата: | Перекомпилируй под харбур и все, можешь трогать. Все же в харбур более адекватная работа с этими полями. |
| Да уже не хочется заморачиваться с терминалкой. Заканчиваю перевод проекта на МиниГуи, а старый проект хочу сворачивать.
|
|
|
|
| постоянный участник
|
Пост N: 6062
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.09.18 22:55. Заголовок: AADD( aDbf , {"D..
AADD( aDbf , {"DT_ADD" ,"T", 8, 0 } ) // RDD-TimeStamp дата+время+миллисекунды Пишу в поле для теста : t1 := hb_DateTime() t2 := hb_NtoT( hb_TtoN( t1 ) - nI * 100 ) ? "t1=",t1, "t2=",t2, Valtype(t2) (TEMPDBF)->DT_ADD := t2 // дату+время вставки записи В отладке так: t1= 2018-09-27 22:37:03.755 t2= 2018-06-19 22:37:03.755 T t1= 2018-09-27 22:37:03.774 t2= 2018-03-11 22:37:03.774 T t1= 2018-09-27 22:37:03.792 t2= 2017-12-01 22:37:03.792 T t1= 2018-09-27 22:37:03.81 t2= 2017-08-23 22:37:03.81 T t1= 2018-09-27 22:37:03.828 t2= 2017-05-15 22:37:03.828 T В базе в поле DT_ADD: 27.09.2018 22:37:03.774 27.09.2018 22:37:03.792 27.09.2018 22:37:03.810 27.09.2018 22:37:03.828 Чудеса ?
|
|
|
|
| постоянный участник
|
Пост N: 2076
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.09.18 05:49. Заголовок: Andrey пишет Чудеса ..
Andrey пишет Не знаю, но догадываюсь как ты их творишь. t1 := hb_DateTime() t2 := hb_NtoT( hb_TtoN( t1 ) - nI * 100 ) (TEMPDBF)->DT_DEL := t1 (TEMPDBF)->DT_REST := t2 dbSkip(0) ? "t1=",t1, "t2=",t2, 'DT_DEL=',(TEMPDBF)->DT_DEL,'DT_REST',(TEMPDBF)->DT_REST результат t1= 2018-09-28 05:41:42.659 t2= 2018-06-20 05:41:42.659 DT_DEL= 2018-09-28 05:41:42.659 DT_REST= 2018-06-20 05:41:42.659 t1= 2018-09-28 05:41:42.675 t2= 2018-03-12 05:41:42.675 DT_DEL= 2018-09-28 05:41:42.675 DT_REST= 2018-03-12 05:41:42.675 t1= 2018-09-28 05:41:42.675 t2= 2017-12-02 05:41:42.675 DT_DEL= 2018-09-28 05:41:42.675 DT_REST= 2017-12-02 05:41:42.675 t1= 2018-09-28 05:41:42.675 t2= 2017-08-24 05:41:42.675 DT_DEL= 2018-09-28 05:41:42.675 DT_REST= 2017-08-24 05:41:42.675 t1= 2018-09-28 05:41:42.691 t2= 2017-05-16 05:41:42.691 DT_DEL= 2018-09-28 05:41:42.691 DT_REST= 2017-05-16 05:41:42.691 ...
|
|
|
|
| Администратор
|
Пост N: 3804
Зарегистрирован: 23.05.05
|
|
Отправлено: 28.09.18 09:22. Заголовок: Andrey пишет: Чудес..
Andrey пишет: А в чем прикол, кроме нехватки одной строки ? Или это шарада типа "Найди 10 различий" ?
|
|
|
|
| постоянный участник
|
Пост N: 2077
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.09.18 09:29. Заголовок: Pasha пишет А в чем ..
Pasha пишет цитата: | А в чем прикол, кроме нехватки одной строки ? Или это шарада типа "Найди 10 различий" ? |
| Просто Андрей, как всегда, просмотрел, что после его команд, стоит (TEMPDBF)->DT_ADD := (TEMPDBF)->TS которая переносит значение из поля '=' ( TS ) в поле DT_ADD. у меня есть вариант prg файла
|
|
|
|
| постоянный участник
|
Пост N: 2078
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.09.18 09:31. Заголовок: PS А хотел он заполн..
PS А хотел он заполнить DT_ADD более ранними значениями TimeStamp
|
|
|
|
| Администратор
|
Пост N: 3805
Зарегистрирован: 23.05.05
|
|
Отправлено: 28.09.18 09:41. Заголовок: Да там странный код ..
Да там странный код какой-то. От даты зачем-то отнимается большое количество дней (если nI - целое, а там фиг его знает). Это можно сделать проще: Вместо: hb_NtoT( hb_TtoN( t1 ) - nI * 100 ) можно сделать просто: t1 - nI * 100 поскольку тип TimeStamp - это просто double, где целая часть - дата, а дробная - время. Ну и наверное что-то еще перепутано с переменными, поскольку DT_ADD получает значение t1.
|
|
|
|
| постоянный участник
|
Пост N: 2079
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.09.18 10:05. Заголовок: Pasha пишет Ну и нав..
Pasha пишет цитата: | Ну и наверное что-то еще перепутано с переменными, поскольку DT_ADD получает значение t1 |
| Путаницы нет, идет добавление записей в тест. таблицу ("мусорные" значения) с полями +,=,^ t1 := hb_DateTime(), в поле DT_ADD пишет t2, а следом идет запись в DT_ADD из поля TS (тип =, rdd заполнение ) т.е. значение t1 и rdd одинаковые, что логично
|
|
|
|
| Администратор
|
Пост N: 3806
Зарегистрирован: 23.05.05
|
|
Отправлено: 28.09.18 11:03. Заголовок: В коде этого же нет,..
В коде этого же нет, а я увы не телепат. Если так, то все понятно, все логично
|
|
|
|
|
| постоянный участник
|
Пост N: 6063
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.09.18 12:30. Заголовок: SergKis пишет: Прос..
SergKis пишет: цитата: | Просто Андрей, как всегда, просмотрел, что после его команд, стоит (TEMPDBF)->DT_ADD := (TEMPDBF)->TS которая переносит значение из поля '=' ( TS ) в поле DT_ADD. |
| Как всегда Спасибо !
|
|
|
|
| постоянный участник
|
Пост N: 6157
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.01.19 23:57. Заголовок: Можно ли базу Харбор..
Можно ли базу Харбора с новыми полями: + AutoInc 4 Auto increment = ModTime 8 Last modified date & time of this record ^ RowVers 8 Row version number; modification count of this record @ DayTime 8 Date & Time открыть через ADS или локальный клиент ADS ? Сразу возникает вопрос зачем ? А чтобы другой программист мог при логиниться к базе и выбрать нужные записи.
|
|
|
|
| Администратор
|
Пост N: 3823
Зарегистрирован: 23.05.05
|
|
Отправлено: 16.01.19 09:56. Заголовок: Открываем advantage...
Открываем advantage.chm (у меня нашелся для ads 11), ищем раздел DBF Field Types and Specifications там упоминается поля типа AutoInc, TimeStamp RowVer, ModTime похоже нет. Может в более поздних версиях и есть, надо смотреть.
|
|
|
|
| |
Пост N: 6998
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.01.19 10:33. Заголовок: http://devzone.advan..
|
|
|
|
| |
Пост N: 1426
Зарегистрирован: 20.02.11
|
|
Отправлено: 16.01.19 15:11. Заголовок: Эти поля в полном со..
Эти поля в полном составе есть только в нативном формате ADS , т.е в ADT цитата: | А чтобы другой программист мог при логиниться к базе и выбрать нужные записи. |
| другой программист может логиниться и выбирать через DBDCDX , и если нужно , то результат писать в свой ADS . Вобщем проблемы не вижу при работе в харбуре. Если речь идет о доступе из другого языка программирования к расширенным типам полей DBF, то у меня сомнения что это вообще возможно.
|
|
|
|
| постоянный участник
|
Пост N: 6158
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.01.19 15:18. Заголовок: Haz пишет: другой п..
Haz пишет: цитата: | другой программист может логиниться и выбирать через DBDCDX , и если нужно , то результат писать в свой ADS . Вобщем проблемы не вижу |
| Другой программист на Дельфи работает. Вот и хочет получить доступ к моей базе через Дельфи.
|
|
|
|
| |
Пост N: 1427
Зарегистрирован: 20.02.11
|
|
Отправлено: 16.01.19 15:20. Заголовок: Andrey пишет: Друго..
Andrey пишет: цитата: | Другой программист на Дельфи работает. Вот и хочет получить доступ к моей базе через Дельфи. |
|
Скорее всего пусть забудет об этой идее , вопрос не в ADS а в том что RDD в дельфи скорее всего таких типов не знает в DBF
|
|
|
|
| |
Пост N: 1428
Зарегистрирован: 20.02.11
|
|
Отправлено: 16.01.19 15:22. Заголовок: Андрей , если бы тво..
Андрей , если бы твоя база была в ADT , то все получилось бы. Если базы не на теробайты, то проще сделать конвертор DBF->ADT а к ADT дельфист легко цепанется через свой ADS
|
|
|
|
| Администратор
|
Пост N: 3824
Зарегистрирован: 23.05.05
|
|
Отправлено: 16.01.19 16:05. Заголовок: Насколько я помню, д..
Насколько я помню, для Delphi используется клиент от Extend Systems, или кто там его купил-перекупил, наследник TDataSet Так что сами разработчики поддержку своих же типов данных должны были сделать. Другой вопрос, что не все типы данных поддерживает сам Ads
|
|
|
Ответов - 158
, стр:
1
2
3
4
5
6
7
8
All
[только новые]
|
|