Автор | Сообщение |
|
| постоянный участник
|
Пост 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: 5629
Зарегистрирован: 17.05.05
|
|
Отправлено: 26.04.16 11:49. Заголовок: Andrey пишет: DBS_C..
Andrey пишет: цитата: | DBS_COUNTER flag - как его использовать ? |
| Инфа на подумать... 2012-06-18 17:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/dbinfo.ch * harbour/src/rdd/dbf1.c + added new dbFieldInfo() actions: DBS_COUNTER - get/set autoincrement field counter DBS_STEP - get/set autoincrement field step * reset autoincrement and row version fields in ZAP operation
|
|
|
|
| |
Пост N: 5630
Зарегистрирован: 17.05.05
|
|
Отправлено: 26.04.16 12:13. Заголовок: Видать так dbFieldIn..
Видать так dbFieldInfo( DBS_COUNTER, FieldPos( <cFieldName> ) )
|
|
|
|
| постоянный участник
|
Пост N: 1190
Зарегистрирован: 09.10.06
|
|
Отправлено: 26.04.16 19:51. Заголовок: Dima пишет: Видать ..
Dima пишет: цитата: | Видать так dbFieldInfo( DBS_COUNTER, FieldPos( <cFieldName> ) ) |
| В этом случае мы получим текущее значение счетчика для поля <cFieldName> А так мы можем его изменить oldCounterValue := dbFieldInfo( DBS_COUNTER, FieldPos( <cFieldName> ), newCounterValue ) dbCreate( "tableWithAI", { { "AI", "I:+", 8, 0 } } ) USE tableWithAI NEW dbFieldInfo( DBS_COUNTER, FieldPos( "AI" ), 10 ) dbFieldInfo( DBS_STEP, FieldPos( "AI" ), 2 ) FOR i := 1 TO 3 APPEND BLANK NEXT i FOR i := 1 TO 3 dbGoto(i) ? FIELD->AI NEXT i dbGoto(2) FIELD->AI := 11 FOR i := 1 TO 3 dbGoto(i) ? FIELD->AI NEXT i USE И еще по типам данных полей БД цитата: | 2015-02-08 13:19 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * src/rdd/workarea.c + added support for field flags in dbCreate()/dbStruct(). Flags can be passed in string with field type after ":", i.e. "C:U" means Unicode character field. The following flags are recognized: "N" - column can store null values "B" - binary column "+" - column is autoincrementing "Z" - column is compressed "E" - column is encrypted "U" - column stores Unicode strings |
|
|
|
|
|
| постоянный участник
|
Пост N: 4874
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.04.16 21:15. Заголовок: Петр пишет: И еще п..
Петр пишет: цитата: | И еще по типам данных полей БД "Z" - column is compressed "E" - column is encrypted |
| Это что за интересный тип полей ? Т.е. можно туда допустим текстовый файл передать, он будет храниться в архивном виде ? Какая длина поля максимальная по этому типу ? А другой тип для чего ? Всё интересней и интересней...
|
|
|
|
| постоянный участник
|
Пост N: 1191
Зарегистрирован: 09.10.06
|
|
Отправлено: 26.04.16 23:07. Заголовок: Andrey пишет: Это ч..
Andrey пишет: цитата: | Это что за интересный тип полей ? |
| Это не тип полей, это свойства полей, т.н. "field flags" - i.e. "C:Z" или "M:Z" или "B:Z" Т.е. поле символьное сжатое или мемо сжатое или.. Andrey пишет: цитата: | Какая длина поля максимальная по этому типу ? |
| см. выше Andrey пишет: опять-таки не тип, а поле символьное зашифрованое или мемо зашифрованое или.. Andrey пишет: цитата: | Т.е. можно туда допустим текстовый файл передать, он будет храниться в архивном виде ? |
| Храниться будет в том виде, в котором поместите. До сих пор за все манипуляции с полями dbf файла отвечает программист. Автоматически ничего не будет ни сжиматься, на шифроваться. По крайней мере сейчас, дальше все могет быть. Так что или ждите или пишите usrrdd, используйте hb_gzipio - "полуфабрикатов" в harbour предостаточно.
|
|
|
|
| постоянный участник
|
Пост N: 4992
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.07.16 02:31. Заголовок: Петр пишет: dbCreat..
Петр пишет: цитата: | dbCreate( "tableWithAI", { { "AI", "I:+", 8, 0 } } ) |
| Добавил такое поле в базу. При создании базы счётчик есть. После этого при добавлении записей - поле по нулям. Т.е. нет приращения в поле. Пробовал в утилите Павла - dbedit.exe
|
|
|
|
| |
Пост N: 5841
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.07.16 08:26. Заголовок: Andrey пишет: Пробо..
Andrey пишет: цитата: | Пробовал в утилите Павла - dbedit.exe |
| Пробовать надо не в утилите Она не понимает формат поля "I:+" Проверил работает , смотри пример выше , Петр давал. Но Harbour должен быть не старее чем февраль 2015 , иначе ни куя не сработает. Кроме того не известно каким Harbour собран Dbedit
|
|
|
|
| постоянный участник
|
Пост N: 4993
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.07.16 12:03. Заголовок: Dima пишет: Но Harb..
Dima пишет: цитата: | Но Harbour должен быть не старее чем февраль 2015 |
| Собирал на новом МиниГуи, там Харбор свежее. А хХарбор поддерживает эти типы полей ?
|
|
|
|
| |
Пост N: 5842
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.07.16 12:32. Заголовок: Andrey пишет: Собир..
Andrey пишет: цитата: | Собирал на новом МиниГуи, там Харбор свежее. |
| Значит там работает
|
|
|
|
| постоянный участник
|
Пост N: 5091
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.09.16 14:55. Заголовок: Dima пишет: А глянь..
Dima пишет: цитата: | А глянь пример C:\MiniGUI\SAMPLES\Advanced\RibbonBar\ |
| Спасибо Дима ! То что нужно. Там вверху стоит FIELD NOMBRE,DIRECCION,LOCALIDAD,PAIS,CODPOST,;
|
|
|
|
| |
Пост N: 6004
Зарегистрирован: 17.05.05
|
|
Отправлено: 08.09.16 15:00. Заголовок: Andrey А темку я пе..
|
|
|
|
|
| постоянный участник
|
Пост N: 5711
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.02.18 11:18. Заголовок: Всем привет. Сделал ..
Всем привет. Сделал года два назад своё поле IMZ типа: @ DayTime 8 Date & Time Сергей ранее писал про него, что туда нужно самому писать. Ничего в него не писал никогда, сейчас собрался его подключить и вижу, что некоторые записи уже исправлены: Как такое могло случиться ? Блин, как в кино: не виновата я, он сам пришёл....
|
|
|
|
| |
Пост N: 6717
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.02.18 17:59. Заголовок: Andrey пишет: Как т..
Andrey пишет: цитата: | Как такое могло случиться ? |
| Сам и записал , но забыл как обычно
|
|
|
|
| постоянный участник
|
Пост N: 5712
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.02.18 21:34. Заголовок: Dima пишет: Сам и з..
Dima пишет: цитата: | Сам и записал , но забыл как обычно |
| Да обыскал все свои исходники - нет у меня записи нигде в поле IMZ. Может ли такое случить (самопроизвольно) если базы копировались из одной в другою ?
|
|
|
|
| Администратор
|
Пост N: 3664
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.02.18 09:57. Заголовок: В поле @ aka TimeSta..
В поле @ aka TimeStamp dbfcdx автоматически записывает время последнего изменения текущей записи.
|
|
|
|
| постоянный участник
|
Пост N: 5715
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.02.18 13:21. Заголовок: Уф... Теперь стало п..
Уф... Теперь стало понятней. А какое поле можно сделать для своего редактирования для типа поля TimeStamp ?
|
|
|
|
| постоянный участник
|
Пост N: 1716
Зарегистрирован: 17.02.12
|
|
Отправлено: 05.02.18 13:36. Заголовок: ChangLog.txt. 2009-1..
ChangLog.txt. 2009-11-25 19:10 цитата: | ; Current field type mappings are: C; Character,n HB_FT_STRING,n ADS_STRING N; Numeric,n,d HB_FT_LONG,n,d ADS_NUMERIC D; Date,n HB_FT_DATE,3 or 4 or 8 ADS_COMPACTDATE; ADS_DATE ShortDate HB_FT_DATE,3 ADS_COMPACTDATE L; Logical HB_FT_LOGICAL,1 ADS_LOGICAL M; Memo,n HB_FT_MEMO,4 or 9 or 8 ADS_MEMO B; Double,,d HB_FT_DOUBLE,8,d ADS_DOUBLE I; Integer,n HB_FT_INTEGER, 2 or 4 or 8 ADS_SHORTINT; ADS_INTEGER; ADS_LONGLONG ShortInt HB_FT_INTEGER,2 ADS_SHORTINT Longlong HB_FT_INTEGER,8 ADS_LONGLONG P; Image HB_FT_IMAGE,9 or 10 ADS_IMAGE W; Binary HB_FT_BLOB,4 or 9 or 10 ADS_BINARY Y; Money HB_FT_CURRENCY,8,4 ADS_MONEY Z; CurDouble,,d HB_FT_CURDOUBLE,8,d ADS_CURDOUBLE T,4; Time HB_FT_TIME,4 ADS_TIME @; T,8; TimeStamp HB_FT_TIMESTAMP,8 ADS_TIMESTAMP +; AutoInc HB_FT_AUTOINC,4 ADS_AUTOINC ^; RowVersion HB_FT_ROWVER,8 ADS_ROWVERSION =; ModTime HB_FT_MODTIME,8 ADS_MODTIME Raw,n HB_FT_STRING,n (+HB_FF_BINARY) ADS_RAW Q; VarChar,n HB_FT_VARLENGTH,n ADS_VARCHAR; ADS_VARCHAR_FOX VarBinary,n HB_FT_VARLENGTH,n (+HB_FF_BINARY) ADS_VARBINARY_FOX; ADS_RAW CICharacter,n HB_FT_STRING,n ADS_CISTRING |
|
|
|
|
|
| |
Пост N: 574
Зарегистрирован: 08.07.06
|
|
Отправлено: 05.02.18 23:31. Заголовок: Pasha пишет: В поле..
Pasha пишет: цитата: | В поле @ aka TimeStamp dbfcdx автоматически записывает время последнего изменения текущей записи. |
| Уверен, что Harbour сам никогда ничего не пишет в поле типа "@" (FT_TIMESTAMP). Потому что для этого предназначено поле типа "=" (FT_MODTIME). Andrey пишет: цитата: | А какое поле можно сделать для своего редактирования для типа поля TimeStamp ? |
| Уточню - что указанное поведение полей "@" и "=" относится к Harbour. Как с этим в xH - не в курсе.
|
|
|
|
| постоянный участник
|
Пост N: 1717
Зарегистрирован: 17.02.12
|
|
Отправлено: 05.02.18 23:43. Заголовок: Sergy :sm36: для ..
Sergy для xhb ставим RddInfo( RDDI_TABLETYPE, DB_DBF_VFP ) и тоже ок. letodb 1-ой версии (2х поточная) сервер собирался на xhb, это использует, на клиент не передаются такие поя, но с триггером на сервере ок.
|
|
|
|
| Администратор
|
Пост N: 3665
Зарегистрирован: 23.05.05
|
|
Отправлено: 06.02.18 08:03. Заголовок: Sergy пишет: Уверен..
Sergy пишет: цитата: | Уверен, что Harbour сам никогда ничего не пишет в поле типа "@" (FT_TIMESTAMP). Потому что для этого предназначено поле типа "=" (FT_MODTIME). |
| В Harbour это так. А в xHarbour в функции hb_dbfUpdateStampFields время пишется и в HB_FT_TIMESTAMP, и в HB_FT_MODTIME
|
|
|
Ответов - 158
, стр:
1
2
3
4
5
6
7
8
All
[только новые]
|
|