导航:首页 > 编程语言 > java登录界面数据库

java登录界面数据库

发布时间:2023-02-15 21:57:56

java中如何实现登录界面与数据库正确连接

import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JDialog;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;/*** * @author mzhe**/
class Loginfrm extends JDialog implements ActionListener
{
JLabel l_name,l_pass,l_error;
JTextField t_name;
JButton b_enter,b_cancle,b_clear;
JPanel pan1,pan2,pan3,pan4;
JPasswordField t_pass;
String sname,spass;
int sunit;
NetConn sql;
Statement sqll;
ResultSet rs;
Librarybox lbox;
int until=0;
Loginfrm(JFrame f,String s)
{
//界面布局
super(f,s);
l_name=new JLabel("名字:");
l_pass=new JLabel("密码:");
l_error=new JLabel("请输入用户名和密码登录");
t_name=new JTextField("",10);
t_pass=new JPasswordField("",10);
t_pass.setEchoChar('*');
b_enter=new JButton("确定");
b_enter.addActionListener(this);
b_cancle=new JButton("取消");
b_cancle.addActionListener(this);
b_clear=new JButton("清除");
b_clear.addActionListener(this);
pan1=new JPanel();
pan2=new JPanel();
pan3=new JPanel();
pan4=new JPanel();
pan1.add(l_name);
pan1.add(t_name);
pan2.add(l_pass);
pan2.add(t_pass);
pan3.add(l_error);
pan4.add(b_enter);
pan4.add(b_cancle);
pan4.add(b_clear);
setLayout(new GridLayout(4,1));
add(pan1);
add(pan2);
add(pan3);
add(pan4);
//建立数据库连接
sql=new NetConn();
//设置窗口大小
setSize(300,300);
setVisible(false);
//得到屏幕信息以便使框架居中显示
Dimension screeSize = Toolkit.getDefaultToolkit().getScreenSize();
int screeWidth=screeSize.width;
int screeHeight=screeSize.height;
//得到框架的大小信息
Dimension frameSize=this.getSize();
int x=(screeWidth-frameSize.width)/2;
int y=(screeHeight-frameSize.height)/2;
this.setLocation(x, y);
}
public void actionPerformed(ActionEvent e)
{
//单击确定按钮的事件处理程序
if(e.getSource()==b_enter)
{
//如果连续登录次数小于4
if(until<=4)
{
//如果用户名或者密码为空,将显示提示信息
if(t_name.getText().equals("")||t_pass.getText().equals(""))
{
l_error.setText("用户名和密码不能为空");
}
else
{
try{
sqll=sql.connect();
//根据用户名查询
rs=sqll.executeQuery("SELECT * FROM users where username="+"'"+t_name.getText()+"'");
//遍历查询得到的结果集
while(rs.next())
{
sname=rs.getString(2);
spass=rs.getString(3);
//得到登录用户的级别
sunit=Integer.parseInt(rs.getString(4));
//如果密码正确
if(t_pass.getText().equals(spass))
{
//判断用户的级别,根据不同的级别,显示不同的菜单
switch(sunit)
{
case 1:{l_error.setText("登录成功");
t_name.setText("");
t_pass.setText("");
lbox=new Librarybox();
lbox.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
lbox.setResizable(false);
lbox.bookfi.setEnabled(true);
lbox.bookse.setEnabled(true);
lbox.bookth.setEnabled(true);
lbox.bookfo.setEnabled(true);
lbox.mi_system_manger.setEnabled(true);
lbox.mi_system_login.setEnabled(false);
lbox.setVisible(true);this.dispose();
break;
}
case 2: {
l_error.setText("登录成功");
t_name.setText("");
t_pass.setText("");
lbox=new Librarybox();
lbox.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
lbox.setResizable(false);
lbox.bookfi.setEnabled(false);
lbox.bookse.setEnabled(false);
lbox.bookth.setEnabled(true);
lbox.bookfo.setEnabled(false);
lbox.mi_system_manger.setEnabled(false);
lbox.mi_system_login.setEnabled(false);
lbox.setVisible(true);
this.dispose();break;
}
case 3:
{
l_error.setText("登录成功");
t_name.setText("");
t_pass.setText("");
lbox=new Librarybox();
lbox.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
lbox.setResizable(false);
lbox.bookfi.setEnabled(true);
lbox.bookse.setEnabled(false);
lbox.bookth.setEnabled(false);
lbox.bookfo.setEnabled(true);
lbox.mi_system_manger.setEnabled(false);
lbox.mi_system_login.setEnabled(false);
lbox.fi_msglabel_user.setEnabled(false);
lbox.setVisible(true);
this.dispose();
break;
}
}
}
else{
l_error.setText("用户名或密码错误!");
until++;
}
}
}catch(SQLException e2){
e2.printStackTrace();
}
}
}
//超出登录次数
else{
l_error.setText("你已经超出登录次数");
t_name.setEnabled(false);
t_pass.setEnabled(false);
b_enter.setEnabled(false);
b_clear.setEnabled(false);
}
}//单击清除按钮的事件处理程序
else if(e.getSource()==b_clear)
{
t_name.setText("");
t_pass.setText("");
l_error.setText("请输入用户名和密码登录");
}
//单击取消按钮的事件处理程序
else if(e.getSource()==b_cancle)
{
dispose();
}
}
}

② 前台的JAVA的GUI登入界面如何连接到数据库

用的access数据库public class OLEDB
{
String strDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String strUrl = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=lee.mdb";
String strUserName = "";
String strPassWord = "";
Connection conn;
Statement stmt;
ResultSet rs;
public OLEDB()
{
try
{
Class.forName(strDriver);
conn = DriverManager.getConnection(strUrl, strUserName, strPassWord);
stmt = conn.createStatement();
}
catch (ClassNotFoundException e)
{

}
catch (SQLException e)
{
e.printStackTrace();
}
}
public ResultSet select( String strSQL )
{
try
{
rs = stmt.executeQuery(strSQL);
}
catch (SQLException e)
{
e.printStackTrace();
} return rs;
}
public void insert( String strSQL )
{
try
{
stmt.executeUpdate(strSQL);
JOptionPane.showMessageDialog(null,"插入成功!");
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public void update( String strSQL )
{
try
{
stmt.executeUpdate(strSQL);
JOptionPane.showMessageDialog(null,"修改成功!");
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public void delete( String strSQL )
{
try
{
stmt.executeUpdate(strSQL);
JOptionPane.showMessageDialog(null,"删除成功!");
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}

③ java中如何实现登录界面与数据库正确连接

使用JDBC进行数据库的增删改查操作1.下载Microsoft SQL Server 2005 JDBC 驱动包jar文件 将jar文件引入工程中2.封装数据库链接的获取和关闭操作import java.sql.*;public class BaseDao {
/**
* 数据库驱动类的字符串,完整的包名加类名 在工程中查看添加的jar文件 能看到这个类
*/
private static final String DRIVE = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; /**
* 数据库连接地址
*
* DataBaseName=数据库名称 其它固定
*/
private static final String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=bbs"; /**
* 连接数据库的用户名
*/
private static final String USER = "sa"; /**
* 用户密码
*/
private static final String PASSWORD = ""; /**
* 获取连接 异常直接抛出 或者捕获后自定义异常信息再抛出
*/
public static Connection getConnection() throws Exception {
Class.forName(DRIVE);
return DriverManager.getConnection(URL, USER, PASSWORD);
} /**
* 关闭与数据库的连接 释放资源
*/
public static void closeAll(ResultSet resultSet, PreparedStatement pst,
Connection connection) throws Exception {
if (resultSet != null)
resultSet.close();
if (pst != null)
pst.close();
if (connection != null)
connection.close();
}}3.创建图书的实体类public class Book {
/**
* 数据库主键
*/
private Long id; /**
* 作者
*/
private String author; /**
* 书名
*/
private String name;
/**
* 默认构造
*
*/
public Book() {
}
/**
* 全字段构造
* @param id
* @param author
* @param name
*/
public Book(Long id, String author, String name) {
this.id = id;
this.author = author;
this.name = name;
}
/**
* 以下为读写属性的方法
* @return
*/
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
4.创建与图书表交互的工具类import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;public class BookDao {
/**
* 添加新书
*
* @param book 要添加入数据库的图书 作者 书名 必须给定
*/
public void addBook(Book book) throws Exception {
// 连接
Connection connection = null;
// 执行语句
PreparedStatement pst = null;
try {
connection = BaseDao.getConnection();
// 构造执行语句
String sql = "insert into book values(" + book.getAuthor() + ","
+ book.getName() + ")";
pst = connection.prepareStatement(sql);
pst.executeUpdate(); } catch (Exception e) {
// 抛出异常
throw e;
} finally {
// 无论是否异常 均关闭数据库
BaseDao.closeAll(null, pst, connection);
}
} /**
* 查询所有书籍列表
*/
public List<Book> getBooks() throws Exception {
// 用于存放查寻结果的集合
List<Book> books = new ArrayList<Book>();
// 连接
Connection connection = null;
// 执行语句
PreparedStatement pst = null;
// 查询结果
ResultSet resultSet = null;
try {
connection = BaseDao.getConnection();
// 构造查询语句
String sql = "select * from book";
pst = connection.prepareStatement(sql);
resultSet = pst.executeQuery(); // 循环读取查询结果行
while (resultSet.next()) {
// getXXX的参数为数据表列名
Book book = new Book(resultSet.getLong("id"), resultSet
.getString("author"), resultSet.getString("name"));
// 将封装好的图书对象存入集合
books.add(book);
}
} catch (Exception e) {
// 抛出异常
throw e;
} finally {
// 无论是否异常 均关闭数据库
BaseDao.closeAll(resultSet, pst, connection);
}
// 返回查询结果
return books;
}/***其它方法类似上面 只是语句不同*/
}当然 以上只是简单的封装 初学者可以在理解以上代码的基础上 进行更高级的封装
5.使用BookDao添加书籍和获取所有书籍列表import java.util.List;/**
* 测试类
* @author Administrator
*
*/
public class Test { /**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
//创建工具类对象
BookDao = new BookDao();
//创建一本图书
Book book = new Book(null,"QQ:495691293","编程菜鸟");
//添加书籍到数据库
.addBook(book);

//获取所有图书列表
List<Book> books = .getBooks();
//输出结果
for (Book b : books) {
System.out.println(b.getId()+"\t"+b.getAuthor()+"\t"+b.getName());
}
}}

④ 求用java编登录页面,可以连接MySql 数据库

第一步:创建一个查询过程,因为在登录时要根据用户名查询用户密码

此步要用到pl/sql编程知识,代码如下:

create or replace procere sel_user(uname in varchar2,pass out varchar2) is
begin
select users.password into pass from users where users.username=uname and rownum = 1;
end;

第二步:编写登录页面(login.java)(采用纯java+servlet编写)

//login.java如下

package cn.hnu;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class testhtml extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html;charset=gbk");
try {
PrintWriter pw = resp.getWriter();
pw.println("<html>");
pw.println("<head>");
pw.println("<title>");
pw.println("用户登录");
pw.println("</title>");
pw.println("</head>");
pw.println("<body>");
pw.println("<h1>用户登录</h1>");
pw.println("<hr>");
pw.println("<form method=post action=loginCl>");
pw.println("用户名:<input type=text name=userName><br>");
pw.println("密  码:<input type=password name=password><br>");
pw.println("<input type=submit value=登录>");
pw.println("<input type=reset value=重置>");
pw.println("</form>");
pw.println("</body>");
pw.println("</html>");
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(req, resp);
}

}

第三步:编程成功登录页面(wel.java) //wel.java如下,它主要用于用户正常登录后显示信息给用户

package cn.hnu;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class Wel extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub

//防止用户非法登录
HttpSession hs = req.getSession();
String s = (String)hs.getAttribute("pass");
if(s == null){
resp.sendRedirect("login");
}
PrintWriter pw = resp.getWriter();
pw.write("welcome,hello");
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(req, resp);
}

}

第四步:编写login处理页面(loginCl.java)

package cn.hnu;

import java.io.IOException;
import java.sql.*;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class loginCl extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
String u = req.getParameter("userName");
String p = req.getParameter("password");

//查询数据库
String pa=null;
Connection ct = null;
CallableStatement cs = null;

try {
Class.forName("oracle.jdbc.driver.OracleDriver");
ct = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oracle",
"scott", "tiger");
cs = ct.prepareCall("{call sel_user(?,?)}");
cs.setString(1, u);
cs.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);
cs.execute();
pa = cs.getString(2);

System.out.println("u=" + u + " p=" + pa);

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {

try {
if (cs != null) {
cs.close();
}
if (ct != null) {
ct.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

//验证用户信息是否合法

if (p.equals(pa)) {
HttpSession hs = req.getSession(true);//防止用户非法登录
hs.setAttribute("pass", "OK");
resp.sendRedirect("wel");
} else {
resp.sendRedirect("login");
}
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(req, resp);
}

}

亲,sql可以换成MySQL
这个没关系的,别的都可以照搬来用

⑤ java中如何实现登录界面与数据库正确连接

使用JDBC进行数据库的增删改查操作1.下载Microsoft SQL Server 2005 JDBC 驱动包jar文件 将jar文件引入工程中2.封装数据库链接的获取和关闭操作import java.sql.*;public class BaseDao {x0dx0a /**x0dx0a * 数据库驱动类的字符串,完整的包名加类名 在工程中查看添加的jar文件 能看到这个类x0dx0a */x0dx0a private static final String DRIVE = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; /**x0dx0a * 数据库连接地址x0dx0a * x0dx0a * DataBaseName=数据库名称 其它固定x0dx0a */x0dx0a private static final String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=bbs"; /**x0dx0a * 连接数据库的用户名x0dx0a */x0dx0a private static final String USER = "sa"; /**x0dx0a * 用户密码x0dx0a */x0dx0a private static final String PASSWORD = ""; /**x0dx0a * 获取连接 异常直接抛出 或者捕获后自定义异常信息再抛出x0dx0a */x0dx0a public static Connection getConnection() throws Exception {x0dx0a Class.forName(DRIVE);x0dx0a return DriverManager.getConnection(URL, USER, PASSWORD);x0dx0a } /**x0dx0a * 关闭与数据库的连接 释放资源x0dx0a */x0dx0a public static void closeAll(ResultSet resultSet, PreparedStatement pst,x0dx0a Connection connection) throws Exception {x0dx0a if (resultSet != null)x0dx0a resultSet.close();x0dx0a if (pst != null)x0dx0a pst.close();x0dx0a if (connection != null)x0dx0a connection.close();x0dx0a }}3.创建图书的实体类public class Book {x0dx0a /**x0dx0a * 数据库主键x0dx0a */x0dx0a private Long id; /**x0dx0a * 作者x0dx0a */x0dx0a private String author; /**x0dx0a * 书名x0dx0a */x0dx0a private String name;x0dx0a /**x0dx0a * 默认构造x0dx0a *x0dx0a */x0dx0a public Book() {x0dx0a }x0dx0a /**x0dx0a * 全字段构造x0dx0a * @param idx0dx0a * @param authorx0dx0a * @param namex0dx0a */x0dx0a public Book(Long id, String author, String name) {x0dx0a this.id = id;x0dx0a this.author = author;x0dx0a this.name = name;x0dx0a }x0dx0a /**x0dx0a * 以下为读写属性的方法x0dx0a * @returnx0dx0a */x0dx0a public String getAuthor() {x0dx0a return author;x0dx0a }x0dx0a public void setAuthor(String author) {x0dx0a this.author = author;x0dx0a }x0dx0a public Long getId() {x0dx0a return id;x0dx0a }x0dx0a public void setId(Long id) {x0dx0a this.id = id;x0dx0a }x0dx0a public String getName() {x0dx0a return name;x0dx0a }x0dx0a public void setName(String name) {x0dx0a this.name = name;x0dx0a }x0dx0a}x0dx0a4.创建与图书表交互的工具类import java.sql.Connection;x0dx0aimport java.sql.PreparedStatement;x0dx0aimport java.sql.ResultSet;x0dx0aimport java.util.ArrayList;x0dx0aimport java.util.List;public class BookDao {x0dx0a /**x0dx0a * 添加新书x0dx0a * x0dx0a * @param book 要添加入数据库的图书 作者 书名 必须给定x0dx0a */x0dx0a public void addBook(Book book) throws Exception {x0dx0a // 连接x0dx0a Connection connection = null;x0dx0a // 执行语句x0dx0a PreparedStatement pst = null;x0dx0a try {x0dx0a connection = BaseDao.getConnection();x0dx0a // 构造执行语句x0dx0a String sql = "insert into book values(" + book.getAuthor() + ","x0dx0a + book.getName() + ")";x0dx0a pst = connection.prepareStatement(sql);x0dx0a pst.executeUpdate(); } catch (Exception e) {x0dx0a // 抛出异常x0dx0a throw e;x0dx0a } finally {x0dx0a // 无论是否异常 均关闭数据库x0dx0a BaseDao.closeAll(null, pst, connection);x0dx0a }x0dx0a } /**x0dx0a * 查询所有书籍列表x0dx0a */x0dx0a public List getBooks() throws Exception {x0dx0a // 用于存放查寻结果的集合x0dx0a List books = new ArrayList();x0dx0a // 连接x0dx0a Connection connection = null;x0dx0a // 执行语句x0dx0a PreparedStatement pst = null;x0dx0a // 查询结果x0dx0a ResultSet resultSet = null;x0dx0a try {x0dx0a connection = BaseDao.getConnection();x0dx0a // 构造查询语句x0dx0a String sql = "select * from book";x0dx0a pst = connection.prepareStatement(sql);x0dx0a resultSet = pst.executeQuery(); // 循环读取查询结果行x0dx0a while (resultSet.next()) {x0dx0a // getXXX的参数为数据表列名x0dx0a Book book = new Book(resultSet.getLong("id"), resultSetx0dx0a .getString("author"), resultSet.getString("name"));x0dx0a // 将封装好的图书对象存入集合x0dx0a books.add(book);x0dx0a }x0dx0a } catch (Exception e) {x0dx0a // 抛出异常x0dx0a throw e;x0dx0a } finally {x0dx0a // 无论是否异常 均关闭数据库x0dx0a BaseDao.closeAll(resultSet, pst, connection);x0dx0a }x0dx0a // 返回查询结果x0dx0a return books;x0dx0a }/***其它方法类似上面 只是语句不同*/x0dx0a}当然 以上只是简单的封装 初学者可以在理解以上代码的基础上 进行更高级的封装x0dx0a5.使用BookDao添加书籍和获取所有书籍列表import java.util.List;/**x0dx0a * 测试类x0dx0a * @author Administratorx0dx0a *x0dx0a */x0dx0apublic class Test { /**x0dx0a * @param argsx0dx0a * @throws Exception x0dx0a */x0dx0a public static void main(String[] args) throws Exception {x0dx0a //创建工具类对象x0dx0a BookDao = new BookDao();x0dx0a //创建一本图书x0dx0a Book book = new Book(null,"QQ:495691293","编程菜鸟");x0dx0a //添加书籍到数据库x0dx0a .addBook(book);x0dx0a x0dx0a //获取所有图书列表x0dx0a List books = .getBooks();x0dx0a //输出结果x0dx0a for (Book b : books) {x0dx0a System.out.println(b.getId()+"\t"+b.getAuthor()+"\t"+b.getName());x0dx0a }x0dx0a }}

⑥ JAVA登陆界面数据库连接

你可以在点击登录之后,首先获取【管理员、教师、学生】这个控件的值,根据它的值,看看用户点击的是哪种身份,然后做不同的查询数据库操作,这个需要你自己用代码实现。主要是如何获取【管理员、教师、学生】这个控件的值,比较简单,自己网络一下吧~~
希望可以帮到你。

阅读全文

与java登录界面数据库相关的资料

热点内容
ascii码是编译的时候用吗 浏览:779
压缩机感应包可以通用吗 浏览:410
方舟服务器怎么发布到搜索列表 浏览:270
xml防反编译 浏览:239
数据传输加密系统技术方案 浏览:842
程序员没有准备去面试 浏览:4
51单片机usb鼠标 浏览:879
qq服务器的ip地址查询 浏览:112
java仿qq聊天 浏览:400
解压的ipa重新打包 浏览:142
程序员那么可爱vip版 浏览:239
程序员怎么升职 浏览:243
图形化命令按钮vb 浏览:987
vcu盘加密怎么设置 浏览:414
如何加密备份微信聊天记录 浏览:528
安卓手机如何模拟键盘 浏览:931
查看dns地址命令 浏览:768
android录屏工具 浏览:841
成都互动直播系统源码 浏览:955
usb蓝牙android 浏览:409