0

我正在尝试从 2 个表中检索数据,然后无法检索。我的主要意图是对于给定的 ID 号 dis 是不可能的。我输入了一个empidid 不会与查询交互,如果我直接在查询这个查询中给出 id,那么查询将直接执行。

我的代码是

int s1 = Integer.parseInt(req.getParameter("empid"));  
pstmt.setInt(1,s1);
pstmt=con.prepareStatement("SELECT * FROM saldetails Natural Join empdetails where empid=s1");
pstmt.executeUpdate();
rs = pstmt.executeQuery() ;
4

1 回答 1

0

您对准备语句的使用是完全错误的。您需要在准备好声明setInt() 后致电。你必须使用?参数占位符。

此外,您不应该运行executeUpdate()声明SELECT

int s1 = Integer.parseInt(req.getParameter("empid"));  
pstmt=con.prepareStatement("SELECT * FROM saldetails Natural Join empdetails where empid=?");
pstmt.setInt(1,s1);
rs = pstmt.executeQuery();

请避免SELECT *在生产代码中使用——尤其是在连接表的查询中。

您的代码类型表明您只是猜测要做什么,而不是在开始编码之前阅读 JavaDocs 或任何其他类型的文档(例如教程)。我强烈建议您在继续开发之前阅读体面的 Java/JDBC 教程来赶上进度:

于 2013-09-19T11:24:46.703 回答