Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++ Builder 6]FOXPRO+ADO 
:(
    Опции темы
Palladin
Дата 27.4.2008, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Возникла проблема, немогу понять из-за чего, топорными методами не хочу решать данную проблему, нужна помощь
Вообщем при редактировании записей БД на FOXPRO поля сразу забиты пробелами, т.е. моя инфа а дальше на всю длину строки пробелы, к примеру у меня поле может вместить 10 символов, при редактировании, записи будет к примеру так: "1234567   " как сделать так чтобы в конец не забивались пробелы, видимо что-то нада проставить либо в таблице БД, либо в DBEDIT-ax либо в ADOTable либо в DBGrid чтобы это не происходило, запарился уже искать smile  если кто знает отпишите как решить эту проблему, если же в БД, DBEdit-ах, DBGrid-e это сделать нельзя также отпишите буду "изобретать велосипед" сам smile  smile  smile  smile  smile  


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
OMu4KA
Дата 28.4.2008, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 14.6.2007

Репутация: нет
Всего: нет



Попробуй в ADOTable обрезать строку перед занесением в базу (либо при чтении из базы, когда пробелы начинают мешать), если тебе это подходит. Ниже - код, обрезающий пробелы и с начала, и с конца строки:
Код

char* __fastcall alltrim(char* str)
{
  int size=strlen(str);
  while(str[0]==' ')
  {
    memcpy(str,&str[1],size-1);
    str[size-1]=0;
  }

  for(int i=size-1;i>=0;i--)
  {
    if(str[i]==' ')
      str[i]=0;
    else if(str[i]!=0)
      break;
  }
  return str;   
}

PM MAIL   Вверх
Данкинг
Дата 28.4.2008, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Поля на фоксе всегда забиты пробелам, поэтому инфу из них надо брать с обрезанием этих пробелов, т.е. это функция на фоксе ALLTRIM, на Дельфи TRIM, на билдере не знаю, но тоже должна быть какая-то. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
OMu4KA
Дата 28.4.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 14.6.2007

Репутация: нет
Всего: нет



Цитата(Данкинг @ 28.4.2008,  10:31)
Поля на фоксе всегда забиты пробелам, поэтому инфу из них надо брать с обрезанием этих пробелов, т.е. это функция на фоксе ALLTRIM, на Дельфи TRIM, на билдере не знаю, но тоже должна быть какая-то. smile

Точно!
extern PACKAGE AnsiString __fastcall Trim(const AnsiString S);
AnsiString __fastcall AnsiString::Trim() const;


Это сообщение отредактировал(а) OMu4KA - 28.4.2008, 10:42
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.