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




Пост 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.
Ошибка - Скрытый текст

Может что не так делаю ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 119 , стр: 1 2 3 4 5 6 All [только новые]


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




Пост N: 5716
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.02.18 08:58. Заголовок: Pasha пишет: В Harb..


Pasha пишет:

 цитата:
В Harbour это так. А в xHarbour в функции hb_dbfUpdateStampFields время пишется и в HB_FT_TIMESTAMP, и в HB_FT_MODTIME


Понял я в чем дело. У меня базы работают одновременно и с терминалкой (хХарбор) и на МиниГуи (Харбор).
Значит это мне терминалка пишет всякую фигню в базу.
От терминалки юзера не хотят отказываться, придётся пока это поле "@" пока не трогать.
Поставил в начале базы новые типы полей и все вьювера перестали работать. Нечего юзерам лазить по базам.

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


Пост N: 1172
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.02.18 20:01. Заголовок: Andrey пишет: От те..


Andrey пишет:

 цитата:
От терминалки юзера не хотят отказываться, придётся пока это поле "@" пока не трогать.


Перекомпилируй под харбур и все, можешь трогать.
Все же в харбур более адекватная работа с этими полями.

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




Пост N: 5717
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.02.18 20:41. Заголовок: Haz пишет: Перекомп..


Haz пишет:

 цитата:
Перекомпилируй под харбур и все, можешь трогать.
Все же в харбур более адекватная работа с этими полями.


Да уже не хочется заморачиваться с терминалкой.
Заканчиваю перевод проекта на МиниГуи, а старый проект хочу сворачивать.


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




Пост 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

Чудеса ?

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



Пост 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
...


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




Пост N: 3804
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 28.09.18 09:22. Заголовок: Andrey пишет: Чудес..


Andrey пишет:

 цитата:
Чудеса ?



А в чем прикол, кроме нехватки одной строки ? Или это шарада типа "Найди 10 различий" ?

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



Пост N: 2077
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.09.18 09:29. Заголовок: Pasha пишет А в чем ..


Pasha пишет
 цитата:
А в чем прикол, кроме нехватки одной строки ? Или это шарада типа "Найди 10 различий" ?


Просто Андрей, как всегда, просмотрел, что после его команд, стоит
(TEMPDBF)->DT_ADD := (TEMPDBF)->TS
которая переносит значение из поля '=' ( TS ) в поле DT_ADD.
у меня есть вариант prg файла

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



Пост N: 2078
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.09.18 09:31. Заголовок: PS А хотел он заполн..


PS
А хотел он заполнить DT_ADD более ранними значениями TimeStamp

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




Пост 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.

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



Пост 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 одинаковые, что логично

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




Пост N: 3806
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 28.09.18 11:03. Заголовок: В коде этого же нет,..


В коде этого же нет, а я увы не телепат.
Если так, то все понятно, все логично

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




Пост N: 6063
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.09.18 12:30. Заголовок: SergKis пишет: Прос..


SergKis пишет:

 цитата:
Просто Андрей, как всегда, просмотрел, что после его команд, стоит
(TEMPDBF)->DT_ADD := (TEMPDBF)->TS
которая переносит значение из поля '=' ( TS ) в поле DT_ADD.


Как всегда
Спасибо !

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




Пост 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 ?

Сразу возникает вопрос зачем ?
А чтобы другой программист мог при логиниться к базе и выбрать нужные записи.

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




Пост N: 3823
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.01.19 09:56. Заголовок: Открываем advantage...


Открываем advantage.chm (у меня нашелся для ads 11), ищем раздел DBF Field Types and Specifications

там упоминается поля типа AutoInc, TimeStamp

RowVer, ModTime похоже нет. Может в более поздних версиях и есть, надо смотреть.

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




Пост N: 6998
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.01.19 10:33. Заголовок: http://devzone.advan..

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


Пост N: 1426
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.01.19 15:11. Заголовок: Эти поля в полном со..


Эти поля в полном составе есть только в нативном формате ADS , т.е в ADT


 цитата:
А чтобы другой программист мог при логиниться к базе и выбрать нужные записи.


другой программист может логиниться и выбирать через DBDCDX , и если нужно , то результат писать в свой ADS .
Вобщем проблемы не вижу при работе в харбуре.
Если речь идет о доступе из другого языка программирования к расширенным типам полей DBF, то у меня сомнения что это вообще возможно.

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




Пост N: 6158
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.01.19 15:18. Заголовок: Haz пишет: другой п..


Haz пишет:

 цитата:
другой программист может логиниться и выбирать через DBDCDX , и если нужно , то результат писать в свой ADS .
Вобщем проблемы не вижу



Другой программист на Дельфи работает.
Вот и хочет получить доступ к моей базе через Дельфи.

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


Пост N: 1427
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.01.19 15:20. Заголовок: Andrey пишет: Друго..


Andrey пишет:

 цитата:
Другой программист на Дельфи работает.
Вот и хочет получить доступ к моей базе через Дельфи.

Скорее всего пусть забудет об этой идее , вопрос не в ADS а в том что RDD в дельфи скорее всего таких типов не знает в DBF

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


Пост N: 1428
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.01.19 15:22. Заголовок: Андрей , если бы тво..


Андрей , если бы твоя база была в ADT , то все получилось бы.
Если базы не на теробайты, то проще сделать конвертор DBF->ADT а к ADT дельфист легко цепанется через свой ADS

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




Пост N: 3824
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.01.19 16:05. Заголовок: Насколько я помню, д..


Насколько я помню, для Delphi используется клиент от Extend Systems, или кто там его купил-перекупил, наследник TDataSet
Так что сами разработчики поддержку своих же типов данных должны были сделать.
Другой вопрос, что не все типы данных поддерживает сам Ads

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

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