gpt4 book ai didi

java - 方法 executeQuery() 不能接受 PreparedStatement 或 CallableStatement 的参数。错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:36:03 26 4
gpt4 key购买 nike

我在尝试连接数据库并从数据库检索数据时遇到此类错误。

executeQuery() 方法不能接受 PreparedStatement 或 CallableStatement 的参数。

我的代码是这样的。

String search = request.getParameter("searchstudent");
out.println(search);

String connectionURL = "jdbc:sqlserver://localhost:1433;databaseName=Chingdb; integratedSecurity=true;";
Connection connection = null;
PreparedStatement pstatement = null;
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
ResultSet rs = null;
int updateQuery = 0;


if(request.getParameter("editstudent")!= null){
try {
connection = DriverManager.getConnection(connectionURL, "root", "root");
String queryString = "SELECT P_ID, lname, fname, mname FROM stu_info Where lname = ?";
pstatement = connection.prepareStatement(queryString);
pstatement.setString(1, search);
rs = pstatement.executeQuery(queryString);
updateQuery = pstatement.executeUpdate();
%>
<TABLE cellpadding="15" border="1" style="background-color: #ffffcc;">
<%
while (rs.next()) {
%>
<TR>
<TD><%=rs.getInt(1)%></TD>
<TD><%=rs.getString(2)%></TD>
<TD><%=rs.getString(3)%></TD>
<TD><%=rs.getString(4)%></TD>
</TR></TABLE>
<%

rs.close();
pstatement.close();
connection.close();

}
}

catch(Exception e){
out.println(e);
}

}

最佳答案

你不需要第二次查询字符串,因为你用这个“告诉”了准备好的字符串:

pstatement = connection.prepareStatement(queryString);

这是正确的方法:

 pstatement = connection.prepareStatement(queryString);
pstatement.setString(1, search);
rs = pstatement.executeQuery();

关于java - 方法 executeQuery() 不能接受 PreparedStatement 或 CallableStatement 的参数。错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13005460/

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