【发布时间】:2011-04-04 00:51:43
【问题描述】:
我正在开发一个 Web 应用程序,其中数据将在客户端和服务器端之间传输。
我已经知道 JavaScript int != Java int。因为,Java int 不能为空,对。 现在这是我面临的问题。
我将我的 Java int 变量更改为 Integer。
public void aouEmployee(Employee employee) throws SQLException, ClassNotFoundException
{
Integer tempID = employee.getId();
String tname = employee.getName();
Integer tage = employee.getAge();
String tdept = employee.getDept();
PreparedStatement pstmt;
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost:3306/general";
java.sql.Connection con = DriverManager.getConnection(url,"root", "1234");
System.out.println("URL: " + url);
System.out.println("Connection: " + con);
pstmt = (PreparedStatement) con.prepareStatement("REPLACE INTO PERSON SET ID=?, NAME=?, AGE=?, DEPT=?");
pstmt.setInt(1, tempID);
pstmt.setString(2, tname);
pstmt.setInt(3, tage);
pstmt.setString(4, tdept);
pstmt.executeUpdate();
}
我的问题在这里:
pstmt.setInt(1, tempID);
pstmt.setInt(3, tage);
我不能在这里使用整数变量。我试过intgerObject.intValue();
但它使事情变得更加复杂。我们还有其他转换方法或转换技术吗?
任何修复都会更好。
【问题讨论】:
-
我不明白。您正在寻找比
pstmt.setInt(1, tempID.intValue())更简单的东西吗?有什么比添加 11 个字符的代码更容易的呢? -
尝试切换到 Java 5 或更高版本:转换将自动完成。
-
嘿,它有效。谢谢。但是现在问题来了“Integer id = rs.getInt(1);”。
-
@MaRaVan 为什么这是个问题?它也应该可以正常工作。你试过了吗?
-
是的,我在 setTnt() 中使用了 .intValue(),它可以工作。但是,整数 id = rs.getInt(1);现在显示红灯。