![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как убрать пробелы в полях БД? [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)