创建测试应用程序以将名字,姓氏,用户名和密码存储到数据库中会得到奇怪的结果

问题描述 投票:0回答:1

在运行应用程序时,出现以下错误:

错误:

com.mysql.jdbc.MysqlDataTruncation:数据截断:对于第1行的列'password'而言,数据太长了>

我将表从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=*]

结果存储在数据库中,而不是密码中

在运行该应用程序时,出现以下错误:错误:com.mysql.jdbc.MysqlDataTruncation:数据截断:第1行的列'password'的数据太长,我将该表从varchar(50)更改为...。 >

已解决:犯的错误在我的代码内。我最初放ps.setString(4,newAccPass.toString());代替ps.setString(4,String.valueOf(newAccPass.getPassword()));

java mysql jdbc
1个回答
0
投票

已解决:犯的错误在我的代码内。我最初放ps.setString(4,newAccPass.toString());代替ps.setString(4,String.valueOf(newAccPass.getPassword()));

© www.soinside.com 2019 - 2024. All rights reserved.