Форум: "Базы";
Поиск по всему сайту: 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.75 MB
Время: 0.019 c
1-94365           voland0               2002-04-17 13:42  2002.04.29  
Не наступает onMouseDown


14-94544          Fellomena             2002-03-21 17:43  2002.04.29  
Из любопытства - кто-нибудь работал на системах класса В ?


14-94573          DimaIv                2002-03-20 19:47  2002.04.29  
Что означает термин, структурное программирование?


3-94268           dialectic             2002-04-05 09:22  2002.04.29  
3 диалект и BDE


4-94632           Эйнхерий              2002-02-26 10:51  2002.04.29  
Загвоздка при использовании WH_KEYHOOK и передачи параметров в главное приложение.