想做一个QQ登陆界面,要用到数据库,我用的是SQLserver,账号是tracy,没有密码,数据原是MCGRADY。
发布网友
发布时间:2022-04-08 20:22
我来回答
共2个回答
热心网友
时间:2022-04-08 21:51
package com.student.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* 跟数据库连接的桥梁
* @author Administrator
*
*/
public class DBHelper{
private String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String url = "jdbc:sqlserver://localhost:1433;database=chatDB";
private String user = "sa"; //你登录SQL Server的用户名
private String password = "sa"; //你登录SQL Server的密码
private Connection conn = null;
/**
* 专门用于创建到数据库的桥梁的方法
* @return 桥梁建成后的连接
*/
public static Connection getConnection(){
try {
Class.forName(driver); //加载驱动
conn = DriverManager.getConnection(url,user,password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 专门用于关闭桥梁上的所有工具的方法
* @param rs 数据集
* @param pre 数据指令
* @param conn 连接
*/
public void closeAll(ResultSet rs,PreparedStatement pre,Connection conn){
try {
if(rs!=null){
rs.close();
}
if(pre!=null){
pre.close();
}
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//数据访问层
public class CustomerDAO{
/**
* 验证是否成功登陆
* @param cid
* @param cpassword
* @return
*/
public boolean doCheckLogin(int cid, String cpassword) {
conn = DBHelper.getConn();
//在SQL Server中查找用户名和密码的SQL语句,不知道你的表,你可以修改一下
String sql = "select * from customer where tracy= ? and cpassword = ?";
try {
ps = conn.prepareStatement(sql); //执行sql语句的对象
ps.setInt(1, cid); //为参数赋值
ps.setString(2, cpassword);
rs = ps.executeQuery(); //执行
while(rs.next()){ //如果存在下一行记录,则返回true
return true;
}
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
}
//测试类
public class Test{
public static void main(String [] args){
private static CustomerDAO service= new CustomerDAO ();
//假设登陆不成功
boolean success = false;
do{
try{
//用BufferedReader来接收用户的输入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("****************欢迎登录QQ服务系统****************");
System.out.print("请输入帐号:");
int uid= Integer.parseInt(br.readLine());
System.out.print("请输入密码:");
String password = br.readLine();
System.out.println("*********************************************\n");
//这里你可以做个验证:验证用户名密码是否存在。
success = service.doCheckLogin(customerid, password);
if (success == true) {
//登陆成功,进入主界面
caidan();
}else{
System.out.println("用户名或密码错!");
}
}catch(IOException e){
e.printStackTrace();
}
}while(success == false);
}
}
我这里是用两层来实现的!由于功能简单就没用三层啦!结构就是这样,你可以看一下,再、坐下简单的修改就可以啦!界面可以自己实现。
热心网友
时间:2022-04-08 23:09
你用的什么语言开发的??