gpt4 book ai didi

java - 将 nvarchar 值 'XX' 转换为数据类型 int 时转换失败。在 java eclipse 中

转载 作者:行者123 更新时间:2023-11-30 07:12:01 24 4
gpt4 key购买 nike

将 nvarchar 值 'XX' 转换为数据类型 int 时转换失败。我有这些错误,我不知道该怎么办。请帮我。谢谢。 :D

   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=?

select * from inventory where CAST(Id AS NVARCHAR(50))=? or Name=?

问题是您使用相同的文本字段来比较 IdName,所以如果您要输入 Rohan在文本字段中,它将尝试将其转换为 INT 以与 Id 进行比较,在这种情况下,语句将失败。

关于java - 将 nvarchar 值 'XX' 转换为数据类型 int 时转换失败。在 java eclipse 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20673179/

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