Создание тестового приложения для хранения имени, фамилии, имени пользователя и пароля в БД дает странные результаты - PullRequest
0 голосов
/ 09 апреля 2020

При запуске приложения я получаю следующую ошибку:

Ошибка:

com. mysql .jdb c .MysqlDataTruncation: усечение данных: данные слишком длинные для столбец «пароль» в строке 1

Я изменил таблицу с varchar (50) на longText, которая вылечила данные, слишком длинные для столбца.

Результат (Хранится в дБ) :

javax.swing.JPasswordField[,150,137,239x28,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@171f498,flags=288,maximumSize=,minimumSize=,preferredSize=,caretColor=,disabledTextColor=DerivedColor(color=142,143,145 parent=nimbusDisabledText offsets=0.0,0.0,0.0,0 pColor=142,143,145,editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=DerivedColor(color=255,255,255 parent=nimbusSelectedText offsets=0.0,0.0,0.0,0 pColor=255,255,255,selectionColor=DerivedColor(color=57,105,138 parent=nimbusSelectionBackground offsets=0.0,0.0,0.0,0 pColor=57,105,138,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING,echoChar=*]

Полученный результат сохраняется в БД, а не в пароле

1 Ответ

0 голосов
/ 09 апреля 2020

Исправлено: ошибка была в моем коде. Первоначально я положил ps.setString (4, newAccPass.toString ()); вместо ps.setString (4, String.valueOf (newAccPass.getPassword ()));

...