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 
ПрофильЦитата Ответить
Ответов - 158 , стр: 1 2 3 4 5 6 7 8 All [только новые]


администратор




Пост N: 3135
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.05.13 13:25. Заголовок: Andrey пишет: Подск..


Andrey пишет:

 цитата:
Подскажите пожалуйста, а с какого времени существуют новые типы данных в базах Харбор/хХарбор ?


c 2009 вроде

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




Пост N: 2869
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.05.13 09:07. Заголовок: Andrey пишет: Неисп..


Andrey пишет:

 цитата:
Неисправимая ошибка 9006: hb_xgrab не может распределить память



Это ошибка выделения памяти. Здесь действуют несколько ограничений:
1. Максимальный размер символьной переменной
2. Максимальный размер мемо-поля
Какие там ограничения - 2Г или больше - сразу не скажу
3. Ограничение на выделение памяти (размер физической или виртуальной памяти).
В мемо-поле данные записываются целиком, поэтому и считать файл в память надо целиком.

Но это плохое решение - загонять гигабайты в мемо-поле. Оно все-таки для этого не предназначено.

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




Пост N: 2830
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.05.13 15:38. Заголовок: Pasha пишет: Но это..


Pasha пишет:

 цитата:
Но это плохое решение - загонять гигабайты в мемо-поле. Оно все-таки для этого не предназначено.


Согласен. Просто протестировал по максиму.
Думаю 1-5 Мб размер файла картинки будет нормально для базы ?

И какое поле базы лучше использовать для картинок (jpg, bmp...) ?
M Memo
P Picture
B Blob
V VarField

И для чего нужно поле типа "V" (если уже есть M, P, B) ?


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




Пост N: 2870
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.05.13 15:50. Заголовок: Andrey пишет: Думаю..


Andrey пишет:

 цитата:
Думаю 1-5 Мб размер файла картинки будет нормально для базы ?



Нормально


 цитата:
И какое поле базы лучше использовать для картинок (jpg, bmp...) ?
M Memo
P Picture
B Blob
V VarField



Если нет перекодировки кодовых страниц, то все равно: M, P или B
Если есть - то M использовать нельзя.


 цитата:
И для чего нужно поле типа "V" (если уже есть M, P, B) ?



V - это другой тип поля, более сложный. О нем лучше почитать в ng по six3. Там даже есть отдельный раздел: VarField "V" Field Types


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




Пост N: 3093
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.11.13 11:05. Заголовок: Подскажите пожалуйст..


Подскажите пожалуйста, как можно переделать свой dbf под новое поле: + AutoInc (Auto increment).
Дело в том что у меня есть в базе поле ID записи, которое я веду сам.
Хочу сделать новое ID2, но с сохранением значений ID (база чистилась и ID идут не по порядку RECNO() ).
Как это сделать ?

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




Пост N: 3168
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.12.13 15:04. Заголовок: Поставил в базу поле..


Поставил в базу поле ID тип + AutoInc 4 Auto increment.
Теперь при добавлении записи получаю ошибку: Error DBFCDX/1020 Ошибка типа данных: ID

Код такой:
aFieldArray := { }
GetFields( aFieldArray )
APPEND BLANK
ALERT( STR(FIELD->ID)+";"+VALTYPE(FIELD->ID) )
FOR nI := 1 TO FCOUNT()
FIELDPUT( nI, aFieldArray[ nI ] )
NEXT

Причем VALTYPE(FIELD->ID) возвращает N -

Как получить правильный тип поля базы ?
Как сделать правильно ?

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




Пост N: 3091
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.12.13 15:33. Заголовок: Поле AutoInc не пред..


Поле AutoInc не предназначено для изменения. Оно заполняется автоматически при добавлении записи. При попытке что-либо записать в поле возникает ошибка EDBF_DATATYPE

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




Пост N: 3169
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.12.13 18:33. Заголовок: Pasha пишет: Поле A..


Pasha пишет:

 цитата:
Поле AutoInc не предназначено для изменения.



А как тогда получить, что это тип поля AutoInc ?

VALTYPE(FIELD->ID) возвращает N !




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




Пост N: 3756
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.12.13 19:22. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как тогда получить, что это тип поля AutoInc ?


Пробни HB_FIELDTYPE()

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


Пост N: 419
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 15.12.13 19:52. Заголовок: А как объявить поле..


А как объявить поле Auto increment ? Только программно ? Во вьюверах ничего такого нет.

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




Пост N: 3757
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.12.13 20:11. Заголовок: Vlad04 пишет: А как..


Vlad04 пишет:

 цитата:
А как объявить поле Auto increment ?


вероятно тип поля "+"

типа так dbcreate("test",{{"tst","n",1,0},{"incrtest","+",3,0}},,.t.)

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




Пост N: 3170
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.12.13 20:56. Заголовок: Vlad04 пишет: Тольк..


Vlad04 пишет:

 цитата:
Только программно ? Во вьюверах ничего такого нет.


Пашина утилита dbedit.exe - позволяет делать это. Да и многое другое !!!

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




Пост N: 3171
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.12.13 21:02. Заголовок: Dima пишет: Пробни ..


Dima пишет:

 цитата:
Пробни HB_FIELDTYPE()


Возвращает пустую строчку.
У меня хХарбор 1.2.3

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




Пост N: 3758
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.12.13 21:11. Заголовок: Andrey пишет: Возвр..


Andrey пишет:

 цитата:
Возвращает пустую строчку


Нет у меня хХарбор ;) Попробуй для теста Harbour , он же есть у тебя.
Хотя кто знает может в хХарбор нужно юзать FIELDTYPE() , не проверял.

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




Пост N: 3759
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.12.13 21:14. Заголовок: Andrey пишет: Возвр..


Andrey пишет:

 цитата:
Возвращает пустую строчку.


Hb_fieldtype(номер поля) // норм работает

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




Пост N: 3172
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.12.13 21:23. Заголовок: Dima пишет: Hb_fiel..


Dima пишет:

 цитата:
Hb_fieldtype(номер поля) // норм работает



Да - работает !
Описание в Хелпе по хХарбору нет, а я поставил имя поля....
Из-за этого и не сработало раньше.
Спасибо БОЛЬШОЕ Дима !


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



Пост N: 104
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 16.12.13 20:31. Заголовок: Andrey вроде Вы испо..


Andrey вроде Вы используете DBF для хранения картинок ? У меня задача такая-же . Нужно помимо прочих стоково/числовых значений ещё и фото товара . Посоветуйте как лучше сделать ? На сегодняшний день я картинки держу в MEMO ... и перед просмотром записываю в файл и соответсвенно показ . Чую что есть лучшее решение ....
HARBOUR + MiniGui

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




Пост N: 3761
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.12.13 20:40. Заголовок: Softlog86 Зачем так..


Softlog86
Зачем так усложнять ? Храните картинки как они есть в отдельной папке.

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





Пост N: 383
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 16.12.13 22:02. Заголовок: Dima пишет: Softlog..


Dima пишет:

 цитата:
Softlog86
Зачем так усложнять ? Храните картинки как они есть в отдельной папке.


+1
Если артикулов много - значит много будет картинок. Зачем нагружать систему, сваливая все в одну кучу, если можно удобно и комфортно хранить jpg файлы в отдельном каталоге ?

Добавлю, что картинки (в отличие от самой БД) в большинстве случаев меняются гораздо реже, поэтому - какой смысл регулярно бекапить статичную по сути информацию ?

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




Пост N: 3174
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 16.12.13 23:12. Заголовок: Softlog86 пишет: Н..


Softlog86 пишет:

 цитата:
На сегодняшний день я картинки держу в MEMO ... и перед просмотром записываю в файл и соответсвенно показ . Чую что есть лучшее решение ....
HARBOUR + MiniGui



1) Надо не забыть, что и в HARBOUR'e можно показывать картинки в терминале GTWVT. Смотрите примеры терминала GTWVT (он сейчас по другому называется GTWVG) или мой пример с фонтами (я его здесь на форуме выкладывал).

2) Можно сделать внешний показ картинки на МиниГуи - см. пример библиотеки - сохранения и показ графических файлов в базе формата DBFCDX в папке samples\Basic\Image2Dbf

3) Можно базу и показ товара сразу сделать на МиниГуи. Типа такого:

Но это сложно. Я пока сам разбираюсь.

Все зависит от конкретной задачи. Какие картинки нужно показывать, как часто их показывать и т.д.
Выбор ваш. Если большие картинк, то может и не нужно их в базе хранить. Не знаю.
Я раньше doc файлы хранил в базе, потом отказался, потому что база пухнет и копии файлов хранить неудобно.


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

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