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

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

Сообщений: 6


« : 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
Участник
**

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

Сообщений: 77


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

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

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

Сообщений: 6


« Ответ #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
Участник
**

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

Сообщений: 77


« Ответ #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
Участник
**

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

Сообщений: 6


« Ответ #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
Участник
**

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

Сообщений: 6


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

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




....

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines
Страница сгенерирована за 0.168 секунд. Запросов: 22.