gpt4 book ai didi

java - 为什么我不能将整数转换为字符串?

转载 作者:行者123 更新时间:2023-12-01 18:47:53 25 4
gpt4 key购买 nike

为什么这段代码不起作用?我正在尝试自动填充我的 jtext 字段,但如果它不是字符串,它不会让我选择名称字段。

我尝试转换我的 p_idstring但它仍然不起作用。这是我的代码:

 int row = tablePatient.getSelectedRow();
String Table_click=(tablePatient.getModel().getValueAt(row, 10).toString());

String sql ="select * from patient where p_id='"+Table_click+"'";
pst =conn.prepareStatement(sql);
rs=pst.executeQuery();
if(rs.next()){

String add10=rs.getString(String.valueOf("p_id"));
pat_id.setText (add10);


}

** 我还有其他的add1、add2,但我选择不显示它,因为这会浪费空间

我的错误是:

ava.sql.SQLSyntaxErrorException: Comparisons between 'INTEGER' and 'CHAR (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. SELECT tablename FROM sys.systables WHERE CAST(tablename AS VARCHAR(128)) = 'T1')

请帮忙:)

最佳答案

以正确的方式使用PreparedStatement:

String sql ="select * from patient where p_id=?";
pst =conn.prepareStatement(sql);
pst.setInt(1, Integer.parseInt(Table_click));
//in case p_id is a VARCHAR, comment above line and uncomment below line
//pst.setString(1, Table_click);
rs=pst.executeQuery();
//rest of code...

而且,这一行真的很糟糕:

String add10=rs.getString(String.valueOf("p_id"));

String#valueOf 另一个字符串就像使用同一个字符串。只需使用:

String add10=rs.getString("p_id");

关于java - 为什么我不能将整数转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16932581/

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