C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: При добавлении записи добавляет пробелы  (Прочитано 4105 раз)
LAVs
Участник
**

Сказали спасибо: +2/-0
Offline Offline

Сообщений: 8


« : 12 февраля 2016, 17:44:18 »

Здравствуйте!
Использую ADO & MS Access.
Код создания таблицы:
Код
base->sql->SQL->Text="CREATE TABLE ["+Edit1->Text+"] ( ID_ Counter,Question char,A_ char,B_ char, C_ char)";
base->sql->ExecSQL();
Код добавления записи:
Код
ADOTable1->Edit();
ADOTable1->FieldByName("Question")->AsString=DBEdit1->Text;
ADOTable1->FieldByName("A_")->AsString=DBEdit4->Text;
ADOTable1->FieldByName("B_")->AsString=DBEdit2->Text;
ADOTable1->FieldByName("C_")->AsString=DBEdit3->Text;
ADOTable1->Post();
_
Подскажите где в коде ошибка? Работает прекрасно, только в конце вносимого текста из ДБЕдит добавляет определенное количество пробелов до значения "250" символов.
Как исправить данное? Писал код что бы при событии убирало все пробелы после текста, но при сохранении значения в БД
Код
ADOTable1->Post();  
все равно они появляются.
Помогите пожалуйста!!!
Записан
direk
Участник
**

Сказали спасибо: +6/-0
Offline Offline

Сообщений: 79


« Ответ #1 : 12 февраля 2016, 19:25:16 »

Есть мнение, что при создании таблицы нужно задавать максимально допустимое количество символов в текстовом поле...
Записан
LAVs
Участник
**

Сказали спасибо: +2/-0
Offline Offline

Сообщений: 8


« Ответ #2 : 12 февраля 2016, 22:22:55 »

Код
base->sql->SQL->Text="CREATE TABLE ["+Edit1->Text+"] ( ID_ Counter,Question char,A_ char,B_ char, C_ char)";
Да есть такое.
Код
( ID_ Counter,Question char(200),A_ char(50),B_ char(50), C_ char(50))
Только даже при таких максимальных значениях добавляет пробелы... Уже пробовал.
Не знаю решения, помогите пожалуйста.
Записан
direk
Участник
**

Сказали спасибо: +6/-0
Offline Offline

Сообщений: 79


« Ответ #3 : 13 февраля 2016, 09:19:52 »

Я могу быть не прав, но по моему вы ринулись работать з базами, вообще минув теоретическою подготовку )))

http://www.sql.ru/forum/568158/v-konce-kazhdoy-stroki-kucha-probelov
Записан
Sasha
Участник
**

Сказали спасибо: +13/-0
Offline Offline

Сообщений: 413


« Ответ #4 : 13 февраля 2016, 13:58:07 »

Код
base->sql->SQL->Text="CREATE TABLE ["+Edit1->Text+"] ( ID_ Counter,Question char,A_ char,B_ char, C_ char)";
Да есть такое.
Код
( ID_ Counter,Question char(200),A_ char(50),B_ char(50), C_ char(50))
Только даже при таких максимальных значениях добавляет пробелы... Уже пробовал.
Не знаю решения, помогите пожалуйста.
LAVs вместо char используй varchar размерность указывай размерность в скобках
Записан
LAVs
Участник
**

Сказали спасибо: +2/-0
Offline Offline

Сообщений: 8


« Ответ #5 : 20 февраля 2016, 22:56:43 »

varchar шикарно сработал, спасибо! А какая максимальная размерность этого поля? Не подскажите?
Такое как инт? 65535? потому что я пишу (500) а при выполнении запроса пишет что длинное поле...
Записан
Sasha
Участник
**

Сказали спасибо: +13/-0
Offline Offline

Сообщений: 413


« Ответ #6 : 09 апреля 2016, 20:22:58 »

varchar шикарно сработал, спасибо! А какая максимальная размерность этого поля? Не подскажите?
Такое как инт? 65535? потому что я пишу (500) а при выполнении запроса пишет что длинное поле...
Подскажу: 255
Записан
LAVs
Участник
**

Сказали спасибо: +2/-0
Offline Offline

Сообщений: 8


« Ответ #7 : 30 ноября 2017, 19:07:17 »

Спасибо  Улыбка
Внес поправки в код Строит глазки
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в: