JAVA JDBC中的新手问题 求帮忙

布兰顿罗伊 2013-11-21 08:51:45
import java.sql.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.*;
//定义一个主界面的类
public class zhujiemian {

JFrame JJ=new JFrame();
JPanel JP=new JPanel();
JTextField user, password;




public void zong() {

JJ.setVisible(true);
JJ.add(JP);
JJ.setTitle("QQ登录程序");
JJ.setSize(500,300);
JJ.setLocation(200,100);
}
public void denglu() {
JP.setLayout(null);
JButton JB1=new JButton("登录");
JButton JB2=new JButton("退出");
JB1.setBounds(100,150,90,28);
JB2.setBounds(300,150,90,28);
JP.add(JB1);
JP.add(JB2);
JB1.addMouseListener(new JB1Listener());
JB2.addMouseListener(new JB2Listener());
}

class JB1Listener implements MouseListener {
JFrame JF=new JFrame();
JPanel JP=new JPanel();
public void mouseReleased(MouseEvent e) {

int i;
shujuku(); //链接数据库
i=validate();//测试是否相等

//if (JT1.getText().equals("name")&&JT2.getText().equals("pw"))

JF.setVisible(true);
JF.setTitle("QQ登录程序");
JF.setSize(200,400);
JF.setLocation(1150,30);
JJ.setVisible(false);
JF.add(JP);
JP.setLayout(null);
JButton jb1=new JButton("空间 ");
jb1.setBounds(80,60,30,28);
JP.add(jb1);
JButton jb2=new JButton("微博 ");
jb2.setBounds(130,60,30,28);
JP.add(jb2);
JLabel jb=new JLabel("未央不见");
jb.setBounds(90,0,70,70);
JP.add(jb);
}
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub

}

public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub

}

public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub

}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub

}


}

class JB2Listener implements MouseListener {

public void mouseReleased(MouseEvent e) {
System.exit(0);
}
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub

}

public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub

}

public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub

}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub

}
}
public void Label() {
JLabel JL1=new JLabel("QQ号码");
JL1.setBounds(100,28,50,50);
user=new JTextField(10);
user.setBounds(165,40,150,25);
JLabel JL2=new JLabel(" 密码");
JL2.setBounds(100,68,50,50);
password=new JTextField(10);
password.setBounds(165,80,150,25);
JP.add(JL1);
JP.add(JL2);
JP.add(user);
JP.add(password);
}







//判断 user 与 password是否在数据库中,并匹配user与password
public int validate(){


return 0;
}


//链接到数据库

public void shujuku(){



}


public static void main(String args[]) {
zhujiemian z=new zhujiemian();


z.Label();
z.zong();
z.denglu();



}
}
就是在validate()这个方法里面 计算user与pssword是否匹配;
直接说算法就好 。然后我自己写代码。谢谢啦!!!!!
...全文
214 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
WayneXuan 2013-11-22
  • 打赏
  • 举报
回复
你问的只是用jdbc查表的方法,跟算法没什么关系

int count=0;//为什么validate要返回int?
class.forName("");//加载驱动类
Connection con=DriverManager.getConnection("","","");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select user from table where user="+user+" and passowrd="+password);
while(rs.next()){
    //有结果
    count++;
}
con.close();
return count;
帝瓜 2013-11-22
  • 打赏
  • 举报
回复
只是一个判断啊。。通过帐号名查询密码,比对下就行啊。。。哪来的什么算法
teemai 2013-11-22
  • 打赏
  • 举报
回复
楼主会sql吗?就是条件查询会的话那就没问题了啊。和算法没关系
"select user from table where user="+user+" and passowrd="+password
WayneXuan 2013-11-22
  • 打赏
  • 举报
回复

//最好把validate的返回值改为boolean
public boolean validate(){
    boolean result=false;
    class.forName("");//加载驱动类
    Connection con=DriverManager.getConnection("","","");
    Statement stmt=con.createStatement();
    ResultSet rs=stmt.executeQuery("select user from table where user="+user+" and passowrd="+password);
    if(rs.next()){
        //有结果
        result=true;
    }
    con.close();
    return result;
}
WayneXuan 2013-11-22
  • 打赏
  • 举报
回复
引用 8 楼 u012840931 的回复:
最后这个count是个什么用的?我想在鼠标事件那 做一个判断,就是如果user与password匹配就返回1,否则返回0
你以前学过C/C++的吧?java里一般直接用boolean,不用1表示真
布兰顿罗伊 2013-11-22
  • 打赏
  • 举报
回复
引用 2 楼 waynexuan 的回复:
你问的只是用jdbc查表的方法,跟算法没什么关系

int count=0;//为什么validate要返回int?
class.forName("");//加载驱动类
Connection con=DriverManager.getConnection("","","");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select user from table where user="+user+" and passowrd="+password);
while(rs.next()){
    //有结果
    count++;
}
con.close();
return count;
最后这个count是个什么用的?我想在鼠标事件那 做一个判断,就是如果user与password匹配就返回1,否则返回0
布兰顿罗伊 2013-11-22
  • 打赏
  • 举报
回复
引用 2 楼 waynexuan 的回复:
你问的只是用jdbc查表的方法,跟算法没什么关系

int count=0;//为什么validate要返回int?
class.forName("");//加载驱动类
Connection con=DriverManager.getConnection("","","");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select user from table where user="+user+" and passowrd="+password);
while(rs.next()){
    //有结果
    count++;
}
con.close();
return count;
第5句话是什么意思啊?
xiaomm627 2013-11-22
  • 打赏
  • 举报
回复

 select count(*) as count from table where username = ? and password = ? 
查询出来数量是否为1,为1匹配,否则不匹配
jdgdf566 2013-11-21
  • 打赏
  • 举报
回复
import com.mysql.jdbc.Driver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author Administrator
 */
public abstract class Database {

    private static Connection connection = null;

    /**
     * 连接数据库
     */
    public static Connection getConnect() throws SQLException, Exception {
        if (connection != null && connection.isValid(1)) {
            return connection;
        }
        // URL指向要访问的数据库名jdbc_test
        String url = Config.getConfig("database.url");
        // MySQL配置时的用户名
        String user = Config.getConfig("database.user");
        // Java连接MySQL配置时的密码
        String password = Config.getConfig("database.password");
        //这句可以没有
        DriverManager.registerDriver(new Driver());
        // 连接数据库
        connection = DriverManager.getConnection(url, user, password);
        connection.setAutoCommit(true);
        //设置数据库的字符集
        Statement statement = connection.createStatement();
        statement.execute("SET character_set_client=`" + Config.getConfig("database.character_set_client") + "`");
        statement.execute("SET character_set_connection=`" + Config.getConfig("database.character_set_connection") + "`");
        statement.execute("SET character_set_results=`" + Config.getConfig("database.character_set_results") + "`");
        statement.close();
        //
        return connection;
    }
}

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import Database;
        PreparedStatement ps = Database.getConnect().prepareStatement("select * from student order by id asc");
        // 结果集
        ResultSet resultSet = ps.executeQuery();
        System.out.println("-----------------");
        System.out.println("执行结果如下所示:");
        System.out.println("-----------------");
        System.out.println("id" + "\t" + "content");
        System.out.println("-----------------");
        while (resultSet.next()) {
            // 选择sno,sname两列数据
            System.out.println(resultSet.getString("id") + "\t" + resultSet.getString("content"));
        }

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧