Форум: "Начинающим";
Текущий архив: 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