NativeDB и SyBase ASA 9

vortekc

Такая вот проблема! Есть база в которой некоторые поля робьявлены, к примеру, как varchar(25)делая выборку с помощью компонентов NativDB. В AsaDataset записываю запрос самый обычный
select * from blabla
В результате получаю странный результат! Вопреки ожиданиям если данные в поле меньше 25 символов они дополняются пробелами: "Блабла "Пробывал соединятся напрямую через адошные компоненты делфи все работает так как надо! В чем проблема? Помогите!!!!!!!З.Ы. Использую Delphi 7 c 1-м сервиспаком
24 ответа

vortekc

Строковые типы полей в таблице случаем не фиксированной длины (char(n))?


vortekc

Неа, я же написал что varchar! Да и вообще по большому счету в SyBase нет разницы между этими типами.


vortekc

А в коллекции TFields строковые поля как определены (ftString или ftFixedChar)?


vortekc

Не знаю! Можешь поподробнее описать где посмотреть?


vortekc

Кривой драйвер, вернись на АДО


vortekc

С АДО вообще бока!Вот я тут спрашивал похоже никто не знает:([url=http://]forum.vingrad.ru/index.php?showtopic=114695[/url]


vortekc

Anatoly Podgoretsky wrote:> Кривой драйвер, вернись на АДОТы бы ещё БиДЕ посоветовал по доброте душевной .


vortekc

vortekc wrote:> Есть база в которой некоторые поля робьявлены, к примеру, как varchar(25)> делая выборку с помощью компонентов NativDB. В AsaDataset записываю > запрос самый обычный> > select * from blabla> > > В результате получаю странный результат! Вопреки ожиданиям если данные в > поле меньше 25 символов они дополняются пробелами: "Блабла "Возможно, БД создана с blank padding. Проверь, какие данные на самом деле лежат в БД, с помощью ISQL.


vortekc

> Кривой драйвер, вернись на АДОТы бы ещё БиДЕ посоветовал по доброте душевной .
Я посоветовал, то, что по его словам работает нормально.


vortekc

Возможно, БД создана с blank padding. Проверь, какие данные на самом деле лежат в БД, с помощью ISQL.
Не проходит, по его словам АДО работает, с той же базой нормально. Делай закономерный вывод.


vortekc

Проверил в базе хранится все нормально!


vortekc

Проверил в базе хранится все нормально!
Еще бы, ведь АДО работает нормально.Неужели из этого факта нельзя сделать правильный вывод?Что дело не в базе.


vortekc

Можно было бы, но прогу эту писал не я и поверь я уже таких чудес насмотрелся, что уже ничему удивляться не приходится!


vortekc

Anatoly Podgoretsky wrote:> Еще бы, ведь АДО работает нормально.АДО - вещь сама по себе ненормальная, так что делать из этого какие-то выводы я бы не стал (что касается конкретно ASA, то ADO - самый кривой из существующих к нему интерфейсов ).


vortekc

Так если тебе нужен воркароунд и ты не хочешь разбирать с заморочками примененой технологии, то просто делай TRIM/RTRIM


vortekc

> Еще бы, ведь АДО работает нормально.АДО - вещь сама по себе ненормальная, так что делать из этого какие-то выводы я бы не стал (что касается конкретно ASA, то ADO - самый кривой из существующих к нему интерфейсов ).
По словам автора это не так, крив у него именно NativeDB, а не АДО, который как раз работает.


vortekc

Не знаю! Можешь поподробнее описать где посмотреть?
На компоненте (DataSet'е) дважды мышекликните и должен появиться список полей. Там и посмотрите.


vortekc

Чертовски криво! И не всегда поможет. Например с наименованиями продукции.


vortekc

Чертовски криво! И не всегда поможет. Например с наименованиями продукции.
Почему не поможет, удалит концевые или начальные пробелы. За функцией ничего плохого не замечено. Удалять можно на клиенте или в запросе.


vortekc

Anatoly Podgoretsky wrote:> По словам автора это не так, крив у него именно NativeDBК словам автора у меня особого доверия нет - я с NDB работал сам, и вопиющих глюков в нём нет точно (набросал на скорую руку тест - пробелов и в начале, и в конце ровно столько, сколько их и должно быть). Глубоко разбираться с ADO, к сожалению, некогда (через ASAProv.90 выполнить запрос не смог, через SAOLEDB.10 - всё нормально).


vortekc

Anatoly Podgoretsky wrote:> По словам автора это не так, крив у него именно NativeDBК словам автора у меня особого доверия нет - я с NDB работал сам, и вопиющих глюков в нём нет точно (набросал на скорую руку тест - пробелов и в начале, и в конце ровно столько, сколько их и должно быть).
У меня тоже нет доверия, но другого же нет, только общии слова.


vortekc

только что создал пустой проект кинул туда AsaSession в нем прописал ClientParams := commlinks=tcpip{host=192.168.3.3;DoBroadcast=NONE}имя и пароль к базе.Затем ASADataSet, DataSource и стандартный DBGrid. Подклучился к таблице... и все равно есть пробелы:( Ниче не понимаю! Или у меня кривой ASA 9 или NativDB.


vortekc

vortekc wrote:> Затем ASADataSet, DataSource и стандартный DBGrid. Подклучился к > таблице... и все равно есть пробелы:( Ниче не понимаю! Что выдаёт SELECT db_property('BlankPadding') ?> Или у меня кривой ASA 9 или NativDB.Рекомендую начинать с себя ;).


vortekc

Что выдаёт SELECT db_property('BlankPadding') ?
Выдает NO
Рекомендую начинать с себя ;).
Да почти уверен что сам где-то, что-то, как-то:) Еще и базу эту не я делал:(