JAVABEAN连MYSQL请高手纠下错

来源:百度知道 编辑:UC知道 时间:2024/05/29 20:05:16
package example;
import java.sql.*;
import java.util.*;

public class CheckUser{
//获得提交的用户名和密码
private String user="";
private String password="";
public void setUser(String user){
this.user=user;
}
public void setPassword(String password){
this.password=password;
}
//连接数据库对象初始化
Connection con=null;
PreparedStatement stmt=null;
ResultSet result=null;
String url="jdbc:mysql://localhost:8080/test";
String name="root";
String pass="123456";
//连接数据库
public CheckUser(){
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(url,name,pass);
}catch(Exception e){
System.out.println(e);
}
}
//验证身份
public boolean CheckRole(){
boolean ifright

你的mysql默认端口是8080?不会吧,那是tomcat的。如果你没改的话应该是jdbc:mysql://localhost:3306
教你个简单方法,在语句中加两个打印:
Class.forName("com.mysql.jdbc.Driver");
System.out.println("AAAAA");
con=DriverManager.getConnection(url,name,pass);
System.out.println("BBBBB");
如果AAAAA没打出来说明驱动错的,可能是忘了导包。
如果BBBBB没打出来那可能是商品号,用户名或密码错了。
全打出来了就是你sql语句有问题了。

首先确定上面的问题你没有做错。

查询的SQL不是这句的吧
Select *from users where ID=? and PASSWORD=?
用于更新时才要用?的。

---------
String sql="Select *from users"(只有用户名和密码情况下)

result=stmt.executeQuery(sql);
while(result.next()) {
if(user==result.getString(1))&&password==result.getString(2))
ifright=true;
else
ifright=false;
}

对不起,照着你的改的,可能有错,自己也在学习中,一起进步吧。

result=stmt.executeQuery(sql);
stmt.executeQuery();括号里面不用传sql语句,直接调用就可以了,例如:
stmt=conn.prepareStatement("select * from table where name=? and password=?");