Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];

Вниз

ADO поле Int64   Найти похожие ветки 

 
novichek   (2011-04-04 18:40) [0]

Подскажите пожалуйста, создаю access базу,
Provider=Microsoft.Jet.OLEDB.4.0

как при создании таблицы объявить поле в 64 бита?

пробывал create table my (
                                      kod BigInt
                                      kod Int64
                                      kod Integer8
                                   )

везде матюкается блин..


 
clickmaker ©   (2011-04-04 18:47) [1]

decimal?


 
novichek   (2011-04-04 18:51) [2]

хм..   -10^28-1 до 10^28-1

спасибо!  век живи век учись..


 
novichek   (2011-04-04 20:38) [3]

блин, не тут то было )

перевожу базу с FireBird на ADO.
создал поле decimal в ADO

при попытке

ADO.fileds[0].variant:=  firebird.fileds[0].variant;  //  Decimal:= Int64

вылетает с ошибкой Overflow while convert variant of type Int64 into type Currency..

перепробывал уже вроде бы все.. мыслей нет.. может что подскажите?


 
novichek   (2011-04-04 20:44) [4]

хм.. назначил   ADOQuery.EnableBCD:= false;
вроде бы прокатило..
знать бы ещё что это )


 
sniknik ©   (2011-04-04 21:01) [5]

>  знать бы ещё что это )
BCD в delphi ограниченная, в базах сделана через currency.


 
sniknik ©   (2011-04-04 21:03) [6]

что означает не больше 4 знаков после запятой... (у "натурального" BCD 99... вроде бы, насколько помню)


 
novichek   (2011-04-04 21:34) [7]

не могу сообразить не появятся ли глюки..

у меня поля Int64 под ID уникальный, который генерирую типа GUID только ровно в 64 бита.

беззнаковое целое число планировал под ID этот...

синхронизацию/репликацию делаю через промежуточные ADO базу (х.з. зачем, но показалось удобней и по размеру небольшая и стабильная) путем создания временной Access базы с таблицами и наполнением её изменившимися записями. ну а на сервере корректировка обратная..
так вот не полетят ли у меня ID мои уникальные?
по большому байты есть байты, как записал так и будет, а так х.з. что с этими конвертациями знаковых, не целых числах будет..
туплю наверное..


 
sniknik ©   (2011-04-04 22:04) [8]

> у меня поля Int64 под ID уникальный, который генерирую типа GUID только ровно в 64 бита.
под GUID нужн использовать GUID, и не забивать мозг проблемами типа "а будут ли глюки" если в 12 байтовый тип записать 16 байтное значение...


 
novichek   (2011-04-04 22:32) [9]

немножко не понял, про какие 12 и 16 байт говорится?

разве Int64 16 байт?


 
novichek   (2011-04-04 22:35) [10]

насколько я понимаю 63 бита  и один для знака..


 
sniknik ©   (2011-04-04 23:02) [11]

> разве Int64 16 байт?
гуид


 
novichek   (2011-04-04 23:05) [12]

а причем тут это,  мне и 64 бита хватает для генерации уникального ID

при большом количестве записей держать ключевой поле строку это кощунство по мне!


 
sniknik ©   (2011-04-04 23:12) [13]

гуид это не строка.

> при большом количестве
для уникального поля простого автоинкремента типа интеджер хватит за "глаза", т.к. даже без данных, сам по себе четвертью возможных положительных значений займет весь доступный размер базы...


 
novichek   (2011-04-04 23:13) [14]

если бы Вы внимательно читали я писал про репликацию


 
sniknik ©   (2011-04-04 23:21) [15]

для репликации используется гуид.
а квадратные колеса обычно не  крутятся, и вовсе не из-за того, что на преобразовании из дробного к целому и обратно битики теряются.


 
DiamondShark ©   (2011-04-05 10:44) [16]


> sniknik ©   (04.04.11 23:21) [15]
> для репликации используется гуид.

Это у знахарей используется.
А в объективной реальности используется любое уникальное значение, которое удобно/целесообразно использовать.


 
sniknik ©   (2011-04-05 10:49) [17]

да, мелкософт со своим "репликатором" в акцессе конечно знахарь, и я рад что я в их рядах.


 
Anatoly Podgoretsky ©   (2011-04-06 19:40) [18]

> novichek  (04.04.2011 23:05:12)  [12]

Ты что в строке хранишь чтоли? Или ты путаешь преставление с хранением.


 
Ega23 ©   (2011-04-06 19:48) [19]


> при большом количестве записей держать ключевой поле строку
> это кощунство по мне!


Ты путаешь уникальное 16-байтное число и строковый формат его представления хххххххх-хххх-хххх-хххх-хххххххххххх



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.005 c
4-1243494188
Дмитрий
2009-05-28 11:03
2011.07.17
USB Flash Drive + CreateFile()


1-1259225003
Циркуль
2009-11-26 11:43
2011.07.17
Непредсказуемый порядок обхода контролов


15-1301721561
Kerk
2011-04-02 09:19
2011.07.17
Новые видеокурсы :)


15-1301776193
Юрий
2011-04-03 00:29
2011.07.17
С днем рождения ! 3 апреля 2011 воскресенье


15-1301471301
И. Павел
2011-03-30 11:48
2011.07.17
Как узнать id добавленной записи в БД?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский