gpt4 book ai didi

java.sql.SQLSyntaxErrorException : Columns of type 'INTEGER' cannot hold values of type 'CHAR'

转载 作者:行者123 更新时间:2023-11-30 05:39:01 25 4
gpt4 key购买 nike

我希望能够使用我尝试过的代码更新我的表格,但它总是显示这样的错误

我尝试了准备好的语句,但我不知道我是否做得正确。

所以代码看起来像这样,

try{
String sql = "update master.Employees set EmployeeName = '" + jTextField1.getText() + "'" + ",Address = '" + jTextField3.getText() + "'" + ",PhoneNumber = '" +
jTextField4.getText() + "'" + ",EmailAddress = '" + jTextField5.getText() + "'" + "WHERE EmployeeID = " + jTextField1.getText();
Statement update = myconObj.createStatement();
update.executeUpdate(sql);
}
catch (SQLException e){
e.printStackTrace();
}

我尝试输入员工 ID,这是我的数据库的主键,以便能够更新,但它总是显示错误:

java.sql.SQLSyntaxErrorException: Columns of type 'INTEGER' cannot hold values of type 'CHAR'.

我认为我搞乱了抓取结构,因为它显示了这个

¬í sr %org.netbeans.lib.ddl.impl.CreateTable¢”j ™   xr +org.netbeans.lib.ddl.impl.ColumnListCommand2›Œî]2)³ L columnst Ljava/util/Vector;xr )org.netbeans.lib.ddl.impl.AbstractCommandø8¦Œ·q•ª Z executionWithExceptionZ    newObjectL addpropst Ljava/util/Map;L formatt Ljava/lang/String;L nameq ~ L ownerq ~ L quoteStrq ~ L spect ,Lorg/netbeans/lib/ddl/DatabaseSpecification;xp pt :create table [{object.owner}.]{object.name}
(
{columns}
)t EMPLOYEESpppsr java.util.VectorÙ—}[€;¯ I capacityIncrementI elementCount[ elementDatat [Ljava/lang/Object;xp ur [Ljava.lang.Object;ÎXŸs)l xp
sr %org.netbeans.lib.ddl.impl.TableColumn;¦±5‘b I decsizeZ nullableI sizeI typeL checkeq ~ L constraintColumnsq ~ L defvalq ~ xr -org.netbeans.lib.ddl.impl.AbstractTableColumn¸Ô§y[k Z newColumnZ newObjectL addpropsq ~ L cnameq ~ L formatq ~ L nameq ~ L otypeq ~ L refcolq ~ L reftabq ~ xppt
EMPLOYEEIDt ³{column.name} {column.type}[({column.size}[,{column.decsize}])][ {column.type.suffix}][ default {default.value}][ {column.notnull}not null][ check ({check.condition})] primary keyt
EMPLOYEEID_PKt PRIMARY_KEYpp
pppsq ~ pt EMPLOYEENAMEt §{column.name} {column.type}[({column.size}[,{column.decsize}])][ {column.type.suffix}][ default {default.value}][ {column.notnull}not null][ check ({check.condition})]q ~ t COLUMNpp 2 pppsq ~ pt ADDRESSq ~ q ~ q ~ pp 2 pppsq ~ pt PHONENUMBERq ~ q ~ q ~ pp
pppsq ~ pt EMAILADDRESSq ~ q ~ q ~ pp 2 pppsq ~ pt IMAGEq ~ q ~ !q ~ pp 2 pppppppx

最佳答案

尝试使用 PreparedStatement 如下所示:

 try
{
String sql = "UPDATE `master.Employees` SET `EmployeeName`=?, `Address `=?, `PhoneNumber`=?, `EmailAddress`=? WHERE `EmployeeID `=?";
PreparedStatement ps = con.prepareStatement(sql);
//putting value for all placeholder (?)
ps.setString(1,jTextField2.getText());
ps.setString(2,jTextField3.getText());
ps.setInt(3,Integer.parseInt(jTextField4.getText()));
ps.setString(4,jTextField5.getText());
ps.setInt(5,Integer.parseInt(jTextField1.getText()));

int i=0;
i = ps.executeUpdate();
if(i>0)
{
//do something
}
}
catch(Exception e)
{

e.printStackTrace();

}

关于java.sql.SQLSyntaxErrorException : Columns of type 'INTEGER' cannot hold values of type 'CHAR' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56060915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com