我是jsp页面的新手,并尝试通过检查数据库中的用户名和密码来创建登录页面。这是代码:
protected void CheckUser(String username, String password)
{
try {
connect();
PreparedStatement preparedStatement = con.PreparedStatement(
"SELECT * Users WHERE username = ? AND password = ?");
preparedStatement.setString(1,username);
preparedStatement.setString(2,password);
ResultSet rs = (ResultSet) preparedStatement.executeQuery();
} catch (Exception e) {
System.out.println("cannot connect");
e.printStackTrace();
}
}
我为con.PreparedStatement
收到以下错误The method PreparedStatement(String) is undefined for the type Connection
任何人都可以帮我吗?
由于
编辑:这是我的连接功能:
static String dbUrl="jdbc:mysql://localhost:3306/Bank";
static String username="root";
static String password="";
static Connection con=null;
public static void connect ()
{
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=(Connection) DriverManager.getConnection(dbUrl,username,password);
System.out.println("Connected!");
}
catch (Exception e) {
e.printStackTrace();
System.out.println("not connected");
}
}
答案 0 :(得分:4)
你拼错了方法Connection#prepareStatement(String sql) throws SQLException
。
应该是con.prepareStatement
,而不是con.PreparedStatement
。
答案 1 :(得分:2)
PreparedStatement preparedStatement = con.prepareStatement("your Query");
from
关键字。因此,您的代码应该看起来像
PreparedStatement preparedStatement = con.prepareStatement("SELECT * from Users WHERE username = ? AND password = ?");
答案 2 :(得分:1)
不确定其他内容,但是你的查询错误,因为它不是拼写错误,会抛出SQLException
。
应该是
"SELECT * FROM Users WHERE username = ? AND password = ?"
^^^^
||||
here