java 登录验证 数据库_java连接sql server--关于登录验证及对数据库增删改查应用...

一:步骤##

1.sql server建立数据库和相关表

2.建立数据源

(1).打开控制面板找到管理,打开ODBC选项或直接搜索数据源

(2).打开数据源配置后点击添加,选择sql server点击完成

(3).给数据源命名,服务器选择本机电脑sql server 服务器名下一步

16d8376cc7f073b89719d52cd73734e1.png

81d4c01f5629d731b9686488a662c198.png

后面全部点下一步或确定就可以了。

3.代码设计

1.加载数据库驱动

2.与数据源建立连接

3.与数据库建立会话

4.操作数据库

经常使用的一些JDBC URL###

JDBC-ODBC:jdbc:odbc:####

Oracle:jdbc:oracle:thin:@####

DB2:jdbc:db2:MyTest or jdbc.db2://localhost:6789/MyTest(需要用户名和密码)####

sql server数据库连接###

package mybook;

import java.sql.*;

import javax.swing.JOptionPane;

public class bookdb {

String drivername="sun.jdbc.odbc.JdbcOdbcDriver";//驱动名

Connection conn;

Statement stmt;

ResultSet rs;

bookdb(){

try {

Class.forName(drivername);

conn=DriverManager.getConnection("jdbc:odbc:bookdb","sa","zhangyabiao");//与数据源bookdb建立连接

stmt=conn.createStatement();

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public ResultSet find(String sql){//对数据库进行数据查询

try {

rs=stmt.executeQuery(sql);

return rs;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

return null;

}

}

public boolean update(String sql){//对增删改

try {

stmt.executeUpdate(sql);

//JOptionPane.showInternalMessageDialog(null, "执行成功");

return true;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

//JOptionPane.showInternalMessageDialog(null, "执行失败");

return false;

}

}

}

数据库登录验证及账户注册###

package mybook;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

import javax.swing.*;

public class denglu extends JFrame implements ActionListener{

JPanel p1,p2,p3;

JLabel l1,l2;

JTextField f1;

JPasswordField f2;

JButton b1,b2;

ResultSet rs;

bookframe bf;

bookdb b;

zuce z;

denglu(){

b=new bookdb();

this.setLayout(new GridLayout(3,1));

p1=new JPanel();

p2=new JPanel();

p3=new JPanel();

l1=new JLabel("账户:");

l2=new JLabel("密码:");

f1=new JTextField(15);

f2=new JPasswordField(15);

b1=new JButton("登录");

b2=new JButton("注册");

p1.add(l1);

p1.add(f1);

p2.add(l2);

p2.add(f2);

p3.add(b1);

p3.add(b2);

this.add(p1);

this.add(p2);

this.add(p3);

b1.addActionListener(this);

b2.addActionListener(this);

this.setBounds(300, 350, 300, 250);

this.setVisible(true);

}

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(e.getSource()==b1){//账户验证

String sql="select *from yonghu where password='"+f2.getText()+"'";

rs=b.find(sql);

try {

if(rs.next()){

bf=new bookframe();

this.dispose();//释放窗体

}else{

JOptionPane.showMessageDialog(null, "账户或密码错误,请重新登录");

f1.setText("");

f2.setText("");

}

} catch (SQLException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}else if(e.getSource()==b2){

z=new zuce();//注册账户

}

}

}

账户注册

package mybook;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

public class zuce extends JFrame implements ActionListener{

JPanel p1,p2,p3;

JLabel l1,l2;

JTextField f1;

JPasswordField f2;

JButton b1,b2;

ResultSet rs;

bookdb b;

zuce(){

b=new bookdb();

this.setLayout(new GridLayout(3,1));

p1=new JPanel();

p2=new JPanel();

p3=new JPanel();

l1=new JLabel("账户:");

l2=new JLabel("密码:");

f1=new JTextField(15);

f2=new JPasswordField(15);

b1=new JButton("保存");

b2=new JButton("取消");

p1.add(l1);

p1.add(f1);

p2.add(l2);

p2.add(f2);

p3.add(b1);

p3.add(b2);

this.add(p1);

this.add(p2);

this.add(p3);

b1.addActionListener(this);

b2.addActionListener(this);

this.setBounds(400, 400, 300,250 );

this.setVisible(true);

}

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(e.getSource()==b1){

String sql="insert into yonghu values('"+f1.getText()+"','"+f2.getText()+"')";

if(b.update(sql)){

JOptionPane.showMessageDialog(null, "注册成功");

this.dispose();

}else{

JOptionPane.showMessageDialog(null, "用户已存在");

f1.setText("");

f2.setText("");

}

}else{

this.dispose();

}

}

}

对数据库进行对图书的增删改查###

package mybook;

import java.sql.*;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class bookframe extends JFrame implements ActionListener {

JLabel l1,l2,l3;

JTextField f1,f2,f3;

JButton b1,b2,b3,b4;

JPanel p1,p2,p3,p4,p5;

ResultSet rs;

bookdb b;

bookframe(){

b=new bookdb();

this.setLayout(new GridLayout(5,1));

l1=new JLabel("书本编号:");

l2=new JLabel("书 名:");

l3=new JLabel("书本作者:");

f1=new JTextField(15);

f2=new JTextField(15);

f3=new JTextField(15);

b1=new JButton("增加");

b2=new JButton("查询");

b3=new JButton("修改");

b4=new JButton("删除");

p1=new JPanel();

p2=new JPanel();

p3=new JPanel();

p4=new JPanel();

p5=new JPanel();

p1.add(l1);

p1.add(f1);

p2.add(l2);

p2.add(f2);

p3.add(l3);

p3.add(f3);

p4.add(b1);

p4.add(b2);

p5.add(b3);

p5.add(b4);

this.add(p1);

this.add(p2);

this.add(p3);

this.add(p4);

this.add(p5);

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

b4.addActionListener(this);

b3.setEnabled(false);

b4.setEnabled(false);

this.setSize(350, 450);

this.setVisible(true);

}

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(e.getSource()==b1){//增加图书

String sql="insert into book values('"+f1.getText()+"','"+f2.getText()+"','"+f3.getText()+"')";

if(b.update(sql)){

f2.setText("");

f3.setText("");

JOptionPane.showMessageDialog(null, "图书增加成功");

}else{

JOptionPane.showMessageDialog(null, "图书编号已存在");

f1.setText("");

f2.setText("");

f3.setText("");

}

}else if(e.getSource()==b2){//查找图书

String sql="select *from book where bookid='"+f1.getText()+"'";

rs=b.find(sql);

try {

while(rs.next()){

f2.setText(rs.getString(2));

f3.setText(rs.getString(3));

b3.setEnabled(true);

b4.setEnabled(true);

}

} catch (SQLException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

JOptionPane.showMessageDialog(null, "您查找的编号不存在,请重新查找");

f1.setText("");

f2.setText("");

f3.setText("");

}

}else if(e.getSource()==b3){//修改图书资料

String sql="update book set bookname='"+f2.getText()+"',bookauthor='"+f3.getText()+"'where bookid='"+f1.getText()+"'";

if(b.update(sql)){

JOptionPane.showMessageDialog(null, "修改成功");

f2.setText("");

f3.setText("");

b3.setEnabled(false);

b4.setEnabled(false);

}else{

JOptionPane.showMessageDialog(null, "修改失败,可能您修改的图书编号不存在");

}

}else if(e.getSource()==b4){//删除图书

String sql="delete from book where bookid='"+f1.getText()+"'";

if(b.update(sql)){

JOptionPane.showMessageDialog(null, "图书成功删除");

f1.setText("");

f2.setText("");

f3.setText("");

b3.setEnabled(false);

b4.setEnabled(false);

}else{

JOptionPane.showMessageDialog(null, "没能查找到您要删除的图书编号");

}

}

}

}

主函数###

package mybook;

public class frame_main {

public static void main(String[] args) {

// TODO Auto-generated method stub

denglu d=new denglu();

}

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值