public static void executeSprocInParams(Connection con) {
try {
PreparedStatement pstmt = con.prepareStatement("{call dbo.uspGetEmployeeManagers(?)}");
pstmt.setString(1,"1");
pstmt.setString(2,"10");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("LastName") + ", " + rs.getString("FirstName"));
}
rs.close();
pstmt.close();
}
catch (Exception e) {
e.printStackTrace();
}
}上面一段程序是网上找的。我有两个参数要传递,就加了一条。我就是想做一个登录界面,调用存储过程来判断用户名和密码。我在运行时提示如下错误:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]必须声明变量 '@P1@P2'。
数据库已经连接成功了,我在调用存储过程之前已经判断了数据是否连接成功,提示连接成功。
如果我只输入一个参数的话会提示我需要参数(参数名)
try {
PreparedStatement pstmt = con.prepareStatement("{call dbo.uspGetEmployeeManagers(?)}");
pstmt.setString(1,"1");
pstmt.setString(2,"10");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("LastName") + ", " + rs.getString("FirstName"));
}
rs.close();
pstmt.close();
}
catch (Exception e) {
e.printStackTrace();
}
}上面一段程序是网上找的。我有两个参数要传递,就加了一条。我就是想做一个登录界面,调用存储过程来判断用户名和密码。我在运行时提示如下错误:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]必须声明变量 '@P1@P2'。
数据库已经连接成功了,我在调用存储过程之前已经判断了数据是否连接成功,提示连接成功。
如果我只输入一个参数的话会提示我需要参数(参数名)
样例:
CallableStatement cs = con.prepareCall("{call dbo.uspGetEmployeeManagers(?)}");
cs.registerOutParameter(1, Types.INTEGER);
cs.execute();