Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

Совмещение несовместимого! 


MaXie   (2002-04-09 09:44) [0]

При помощи поля ввода с маской (элемент класса TMaskEdit) вводится кор.счет банка - 20 значащих цифр. Теперь это значение необходимо присвоить полю tbCorCheckBank таблицы tbBanks. Как это сделать?
Тип Double позволяет вместить 15..16 значащих цифр. Currency - содержит фиксированную запятую, отсекающую последние четыре разряда. Насколько я понимаю, тривиальный подход к присвоению значения ячейки столбца, как:

tbBanks.FieldByName("tbCorCheckBank").AsXXXX := ...

здесь не пройдет. Вот и возникает вопрос: каким образом совместить число типа Extended с типом numeric (на SQL Server)?



gek   (2002-04-09 09:56) [1]

Ну сделай строку



roottim   (2002-04-09 09:58) [2]

вообще такие значения нюня хранить в текстовом поле char(20) or varchar(20)...
в 3-м диалекте вроде держит нумерик и такое!.. но это геморой будет!



wicked   (2002-04-09 10:18) [3]

2 MaXie ©
gek прав... такие вещи держат в varchar"е... char используй осторожно, т. к. если ты запишешь туда строчку, меньшую от заявленного размера, то он добьёт её пробелами до полной длины...

2 roottim

> в 3-м диалекте...

каком диалекте?...



MaXie   (2002-04-09 10:29) [4]

С текстовым форматом все понятно!
Но текст это не только цифры, но и символы (буквы), поэтому строки, как таковой оказывается недостаточно - необходим Extended совмещенный с "нумериком"!



Lusha   (2002-04-09 10:30) [5]

>MaXie
А кто Вам мешает не давать пользователю вводить символы отличные от цифр?



wicked   (2002-04-09 10:33) [6]

2 MaXie ©
ну и что?... это не смертельно, для этого есть средства проверки данных при вводе... а великая-могучая-теория-проектирования-бд говорит - "всё, что не будет участвовать в арифметических операциях, должно иметь строчный тип"... поверь, избежишь многих граблей...



MaXie   (2002-04-09 10:55) [7]

Просто хотелось бы вести ограничение на ввод символов в поле корсчета не только со стороны клиента, но и сервера - обеспечение взаимной независимости (развязки)!

>wicked
Отдельное спасибо за совет! :)



roottim   (2002-04-09 11:35) [8]

2wicked
я не помню в MSSQL типы.. но в оракле number(20)и более это нефиг делать!... хотя точно не знаю MSSQL работает SQL3
я так понимаю MaXie © не мог найти подходящий для этого тип!..
хотя в строковом виде.. это самое лучшее решение! особенно если впереди необходимо ставить "0"



Anatoly Podgoretsky   (2002-04-09 12:46) [9]

На самом деле это не номер, а идентификатор, поэтому char




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.026 c
1-94410           Каспер                2002-04-18 07:02  2002.04.29  
Мигание на панеле задач


1-94514           Upendra               2002-04-13 10:16  2002.04.29  
Есть небольшая проблема с запуском формы и потока из dll


1-94388           Gamar                 2002-04-17 16:49  2002.04.29  
Как обработать OwnerDraw???


1-94441           Vasya_dvc             2002-04-12 23:27  2002.04.29  
Turbo Pascal + Delphi =?


3-94278           Malyatko              2002-04-08 12:48  2002.04.29  
Добавление в базу данных.