Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Совмещение несовместимого! [D5, MSSQL]


MaXie ©   (2002-04-09 09:44:00) 

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

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

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


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

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


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

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


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

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

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


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

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


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

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


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

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


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

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

2 roottim

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

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


roottim   (2002-04-09 09:58:00) [8]

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


gek   (2002-04-09 09:56:00) [9]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо