Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];

Вниз

Лишние пробелы в DB-компонентах   Найти похожие ветки 

 
Пубертанец   (2004-02-13 10:24) [0]

Короче, во всех DB-компонентах (DBEdit, DBGridEh и т.д.) для стринговых полей у меня отображаются лишние пробелы. Например, слово в поле занимает 5 символов, а само поле рассчитано на 15, то в компоненте отображаются лишние 10 символов (например, когда выделяю слово в компоненте это видно). Как в DesignTime запретить отображение этих лишних пробелов. В ClientDataSet у меня стоит DisableStringTrim=false - все чики-пуки, но все равно проблема не решается.


 
Плохиш   (2004-02-13 10:34) [1]

При создании таблиц использовать тип varchar вместо char


 
Соловьев   (2004-02-13 10:36) [2]

событие onGetText у поля и можешь делать все что угодно с текстовым полем. Например использовать Trim
Хотя [1] - лучший способ.


 
sniknik   (2004-02-13 10:37) [3]

в зависимости типа базы, поля, хз. чего еще поля могут дополнятся(и дополняются) пробелами потому как именно в этом виде лежат в базе.
выход сам их обрезай (trim) если база/движок непозволяет/не делает на onGetText к примеру.
если база позволяет то выбирай тот тип что держит поля в нужном тебе виде. varchar() вместо char() к примеру (для access MSSQL).


 
Пубертанец   (2004-02-13 10:50) [4]

Использую Firebird. Но не приведет ли использование varchar к потере производительности?


 
Пубертанец   (2004-02-13 11:09) [5]

varchar не помогло


 
sniknik   (2004-02-13 11:23) [6]

> varchar не помогло
у тебя еще есть промежуточное звено в связке, ClientDataSet а значит и DataSetProvider, они могут менять рекордсет при передаче. см. у напрямую у таблицы (скорее тебе единственное обрезание поможет :о)), trim имею в виду).


 
Пубертанец   (2004-02-13 11:42) [7]

Придется, наверное, все-таки в провайдере задавать в OnGetData - так работает нормально. Просто лень было что-то ручками писать, хотелось в DesignTime все параметры установить.

Всем спасибо за советы.


 
Anatoly Podgoretsky   (2004-02-13 11:50) [8]

Пубертанец (13.02.04 10:50) [4]
Но не приведет ли использование varchar к потере производительности?

Использование char вместо varchar приводит к потере производительности? Поскольку хранятся они одинаково, но для char производится дополнение пробелами и естестванно и передача этих пробелов клиенту.

Это ошибка какой то версии клиента, про который ты ничего не сообщаешь.


 
Пубертанец   (2004-02-13 11:55) [9]

А что сообщить про версию клиента? - я же сам его пишу


 
sniknik   (2004-02-13 12:06) [10]

> Это ошибка какой то версии клиента, про который ты ничего не сообщаешь.
достаточно и ClientDataSet-а, мелькал тут подобный вопрос когда напрямую получались короткие строки а с его использованием (трехзвенка) дополненые пробелами (база была аксесс вроде). проверять что в том случае что сейчас лень но похоже явление одного порядка (в смысле передаются данные через DCOM/SocketConnection или нет не влияет, скорее дополняется уже на приеме)
это конечно чисто логически, кому действительно нужно/интересно может проверить, возможно это не так/зависит от какихто настроек.


 
Anatoly Podgoretsky   (2004-02-13 13:08) [11]

В какой то версии IB/FB была такая ошибка, потом ее устранили.

Пубертанец (13.02.04 11:55) [9]
Пока понятно, что ты пишешь в Д6 и по всей видимости у тебя есть базы.


 
Пубертанец   (2004-02-13 14:05) [12]

База - WI-V6.2.972 Firebird 1.0.3


 
Пубертанец   (2004-02-13 14:05) [13]

База - WI-V6.2.972 Firebird 1.0.3.


 
div   (2004-02-16 13:53) [14]

в датасете при объявлении полей используй тип IBString вместо обычного String.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.013 c
8-43690
tse
2003-11-09 00:07
2004.03.14
Запись звука с линейного входа в wav файл


3-43302
SPIRIT
2004-02-17 15:21
2004.03.14
GROUP BY не работает


14-43833
Гаврила
2004-02-22 18:56
2004.03.14
При движении мыши закрывается DOS программа


6-43733
Kacnep
2004-01-05 11:49
2004.03.14
Таблицы для поиска компов...


14-43866
Verg
2004-02-21 12:43
2004.03.14
Machine Head - это драйв!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский