在java eclipse中将nvarchar值“XX”转换为数据类型int.时,转换失败
将nvarchar值“XX”转换为数据类型int时转换失败。我有这些错误,不知道如何处理。请帮帮我。谢谢D在java eclipse中将nvarchar值“XX”转换为数据类型int.时,转换失败,java,sql-server,eclipse,Java,Sql Server,Eclipse,将nvarchar值“XX”转换为数据类型int时转换失败。我有这些错误,不知道如何处理。请帮帮我。谢谢D btnNewButton_3.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ String value1=textField_7.getText();
btnNewButton_3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String value1=textField_7.getText();
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionURL = "jdbc:sqlserver://;Database='';user='';password='';";
Connection con = DriverManager.getConnection(connectionURL);
PreparedStatement pst =null;
//Statement stmt=con.createStatement();
//PreparedStatement pst=con.prepareStatement("select * from inventory where Id=? or Name=? ");
String sql ="select * from inventory where Id=? or Name=? ";
pst=con.prepareStatement(sql);
pst.setString(1, textField_7.getText());
pst.setString(2, textField_7.getText());
ResultSet rs = pst.executeQuery();
if(value1.equals("")){
reloadData();
model.fireTableDataChanged();
JOptionPane.showMessageDialog(null,"Please Enter a Name or Id of the Item","ERROR",JOptionPane.ERROR_MESSAGE);
}else{
table.setModel(DbUtils.resultSetToTableModel(rs));
}
}
catch(Exception e1){e1.printStackTrace();}
}
});
尝试从更改SQL语句
select * from inventory where Id=? or Name=?
到
问题是,您使用相同的文本字段来比较Id和Name,因此,如果要在文本字段中输入Rohan,它将尝试将其转换为INT以比较Id,在这种情况下,该语句将失败。尝试将SQL语句从
select * from inventory where Id=? or Name=?
到
问题是,您使用相同的文本字段来比较Id和Name,因此如果您在文本字段中输入Rohan,它将尝试将其转换为INT以比较Id,在这种情况下,语句将失败。假设您的Id列是整数,出现此错误是因为您试图为其分配字符串。如果是,请将文本字段解析为int,然后使用
假设您的Id列是整数,则会出现此错误,因为您试图为其分配一个字符串。如果是,请将文本字段解析为int,然后使用
pst.setInt(1, parsedInt);