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

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

Как убрать пробелы в полях БД? [D7, MSSQL]


Goida ©   (2004-05-02 02:29:00) 

В таблице у меня есть поле, которое может быть пустым. Этому полю я определил тип VARCHAR(15). Когда я из Delphi заношу данные, это поле у меня пустое. Но в БД оно содержит пробелы. Из-за этого у меня ошибка в программе появляется. Как мне настроить MSSQL, чтобы он мне не вставлял пробелы, если передается пустая строка.


Oldman   (2004-05-03 10:15:00) [1]

Сделай через ж...
например, расширь поле до 16, а при вводе добавляй в конец строки символ, который пользователь с клавы не введет.
При считывании считывай символы с 1 до этого символа.


Goida   (2004-05-02 16:05:00) [2]


> 4) не передавать такую фигню с клиента (хотя это не похоже
> на настройку MSSQL)

Это именно настройка MSSQL. Об этом написанно в MSDN. Я из Query Analyzer вставлял пустую строку и все равно получалось так, как говорю я. Для переключения режимов добавления пробелов использется следующее:
SET ANSY_PADDING {ON|OFF}
В моем случае, я использовал SET ANSY_PADDING OFFи все заработало. Но заработало из Query Analyzer, а следующая вставка из клиента опять оказалась не правильной. Вот и думаю: неужели нужно каждый раз выполнять этот PADDING или есть более верное решение.

> 3) с помощью просмотров и триггеров "вместо".

Не сделать, т.к. если пользователь захочет ввести именно пробелы, то получит потом пустую строку :(

> 2) с помощью процедур

Для вставки кортежа я написал процедуру и ей пользуюсь из клиента.


Fay   (2004-05-02 04:26:00) [3]

1) никак
2) с помощью процедур
3) с помощью просмотров и триггеров "вместо".
4) не передавать такую фигню с клиента (хотя это не похоже на настройку MSSQL)


Fay   (2004-05-02 04:26:00) [4]

1) никак
2) с помощью процедур
3) с помощью просмотров и триггеров "вместо".
4) не передавать такую фигню с клиента (хотя это не похоже на настройку MSSQL)


Наверх

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