Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Лишние пробелы после значения поля при


Автор: Bes 5.5.2005, 15:17
Например длина поля в базе задана 10
Ты заносишь туда значение = "пример"
дальше в дельфи пишешь
MyString:=ADOQuery1.fieldbyname('MyField').asstring;
и значение MyString становится равным
"пример "(плюс четыре оставшихся пробела).
Можно было бы последние символы отрезать до тех пор пока не появится символ отличный от пробела. но а если значение в базе было
"пример " (с пробелом в конце) что тогда делать?
Есть ли настройка какая или стандартный финт ушами? smile

Автор: ~FoX~ 5.5.2005, 15:26
Trim, Ltrim, RTrim

Автор: Bes 5.5.2005, 15:47
Ммм.. можно намек по-развернутей.. - не догнал.

Автор: Vit 5.5.2005, 15:52
Заменить тип поля char на varchar

Автор: ~FoX~ 5.5.2005, 15:57
Цитата(Bes @ 5.5.2005, 16:47)
Ммм.. можно намек по-развернутей.. - не догнал.

Справку то открой.
Цитата
Trims leading and trailing spaces and control characters from a string.

Стандартная команда для убивания пробелов с обоих концов

LTrim, RTrim для убивания ихже с лева/справа соответственно.

Автор: Bes 6.5.2005, 06:37
2~FoX~:
Цитата
Справку то открой

Где? В дельфи в СКУЭле? Че, такй-то. smile Говори конкретно.
Цитата
Стандартная команда для убивания пробелов с обоих концов

Дак ты читай внимательно.
Цитата
Можно было бы последние символы отрезать до тех пор пока не появится символ отличный от пробела. но а если значение в базе было
"пример " (с пробелом в конце) что тогда делать?

2Vit: у меня тип nvarchar менять?


Автор: Vit 6.5.2005, 07:01
nvarchar? Нет, его менять не надо. Если там есть пробелы - значит строка в поле эти пробелы содержит...(в отличие от char или nchar) чтобы удалить - действительно пользуйся всякими trim функциями

Автор: Bes 6.5.2005, 13:36
2vit: А знаешь, я поменял nvarchar на varchar и лишние пробелы исчезли.
Спасибо.

Автор: Vit 6.5.2005, 15:14
Цитата(Bes @ 6.5.2005, 04:36)
2vit: А знаешь, я поменял nvarchar на varchar и лишние пробелы исчезли.
Спасибо.



smile Почему??! Очень странно! nvarchar - это ж юникод не фиксированной длинны!

Автор: Bes 6.5.2005, 15:30
Честно, не знаю.

Автор: Bes 11.5.2005, 15:07
АУУУУУУ!!!!!! Vit: А в другой таблице не убираются. smile
Мля! Что за хрень? и там и там varchar. В одной нормально, в другой нет. smile

Автор: Vit 13.5.2005, 15:20
Думаю что они там просто есть - физически занесены в поле... Другого нормального объяснения я не вижу...

Автор: Bes 16.5.2005, 05:59
Точно, так и было. Я их занес при другом типе поля, а потом тип поля поменял и думал, почему не стреляет. :/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)