zoukankan      html  css  js  c++  java
  • 银行系统---数据库连接修改

    1.开户功能

    public void kaihu() {
            
            // 开户方法
            //输入姓名
            Cuxuka cxk=new Cuxuka();
            try{
            Scanner sc1=new Scanner(System.in);
            System.out.println("请输入你的姓名:");
            String st=sc1.nextLine();
            cxk.setName(st);
            //输入身份证
            System.out.println("请输入你的身份证号:");
            for(int ig=0;ig>=0;ig++)
            {
                Scanner sc2=new Scanner(System.in);
                String str=sc2.nextLine();
                String st1="\d{15}|\d{17}[\dxX]";
                if(str.matches(st1))
                {
                    cxk.setShenfen(str);
                    break;
                }
                else
                {
                    System.out.println("输入的身份证号不是18位身份号");
                }
            }
            //设置账户密码
            System.out.println("请输入你的密码:");
            for(int ig=0;ig>=0;ig++)
            {
                Scanner sc3=new Scanner(System.in);
                String pass=sc3.nextLine();
                String mm="\d{6}";
                if(pass.matches(mm))
                {
                    cxk.setPassword(pass);
                    break;
                }
                else
                {
                    System.out.println("请输入正确的6位数密码");
                }
            }
            //生成6位数储蓄卡号
            Random a=new Random();
            int[] ch=new int[6];
            StringBuilder str=new StringBuilder();
            String s;
            for(int i=0;i<6;i++)
            {
                ch[i]=a.nextInt(9);
            }
            
            for(Integer c:ch)
            {
            str.append(c);
            }
            s=str.toString();
            cxk.setCard(s);
            System.out.println("您的新卡号为:"+cxk.getCard());
            
            
            //打开驱动
            Class.forName("oracle.jdbc.driver.OracleDriver");
            
            //获取数据库连接
            String url="jdbc:oracle:thin:@localhost:1521:orcl";
            Connection conn=DriverManager.getConnection(url, "test01", "123456");
            
            //获取数据库声明
            Statement sm=conn.createStatement();
            sm.executeUpdate("insert into bank values('"+cxk.getName()+"','"+cxk.getShenfen()+"','"+cxk.getCard()+"','"+cxk.getBalance()+"','"+cxk.getPassword()+"')");
            
            System.out.println("开户成功,谢谢使用");
            sm.close();
            conn.close();
            /*
            //将生成的数据导入银行卡list列表中
            Yinhanglei.getYinhangLei().list.add(cxk.getCard());
            
            //将生成的数据导入银行卡Map列表中
            Yinhanglei.getYinhangLei().map.put(cxk.getCard(), cxk);*/
            
            
            
            
            }catch (Exception e) {
                System.out.println("输入有误");
            }
            
        }
        

    查询功能:

    //查询方法
        public void chaxun(){
            while(true){
            try{
                Scanner sc=new Scanner(System.in);
                System.out.println("请输入你要查询的卡号:");
                String s=sc.nextLine();
                // 访问数据库
                //1、加载驱动:加载数据库提供的驱动类
                 Class.forName("oracle.jdbc.driver.OracleDriver");
                                 
                  //2、获取数据库连接,通过java的驱动管理器
                 //url-数据库地址,不同的数据库写法不一样;user-用户名;password-密码
                  Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl ","test01", "123456");
                 String sql="select * from bank where ba_card=? ";
                 PreparedStatement ps=conn.prepareStatement(sql);
                 ps.setString(1, s);
                 ResultSet rs=ps.executeQuery();
                 if(rs.next())
                 {
                    String pw= rs.getString("ba_password");
                    Scanner sc1=new Scanner(System.in);
                    System.out.println("请输入卡号密码:");
                    String s1=sc.nextLine();
                    
                    if(pw.equals(s1))
                    {
                        System.out.println("你查询的账号信息为:");
                        System.out.println();
                        System.out.println("******************************");
                        System.out.println();
                        System.out.println("姓名  身份证号    卡号   金额");
                        System.out.println();
                        System.out.println(rs.getString("ba_name")+" "+rs.getString("ba_shenfen")+" "+rs.getString("ba_card")+" "+rs.getString("ba_balance"));
                        break;
                    }
                    else
                    {
                        int i=0;
                        i++;
                        if(i==3)
                        {
                            System.out.println("密码输入错误超过3次");
                            break;
                        }
                        else
                        {
                            System.out.println("密码输入有误");
                        }
                    }
                    rs.close();
                    ps.close();
                    conn.close();
                    break;
                }
                    
                else
                {
                    System.out.println("卡号输入有误请确认");
                }
            
            }catch (Exception e) {
                System.out.println("输入有误");
            }
            break;
            }
        }

    3.存款功能

    public void cun() {
            while(true)
            {
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入你要查询的卡号:");
            String s=sc.nextLine();
            // 访问数据库
            //1、加载驱动:加载数据库提供的驱动类
             try {
                Class.forName("oracle.jdbc.driver.OracleDriver");
            
                             
              //2、获取数据库连接,通过java的驱动管理器
             //url-数据库地址,不同的数据库写法不一样;user-用户名;password-密码
              Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl ","test01", "123456");
             String sql="select * from bank where ba_card=? ";
             PreparedStatement ps=conn.prepareStatement(sql);
             ps.setString(1, s);
             ResultSet rs=ps.executeQuery();
             if(rs.next())
             {
                String pw= rs.getString("ba_password");
                Scanner sc1=new Scanner(System.in);
                System.out.println("请输入卡号密码:");
                String s1=sc.nextLine();
                
                if(pw.equals(s1))
                {
                    System.out.println("你查询的账号信息为:");
                    System.out.println();
                    System.out.println("******************************");
                    System.out.println();
                    System.out.println("姓名  身份证号    卡号   金额");
                    System.out.println();
                    System.out.println(rs.getString("ba_name")+" "+rs.getString("ba_shenfen")+" "+rs.getString("ba_card")+" "+rs.getString("ba_balance"));
                }
                else
                {
                    int i=0;
                    i++;
                    if(i==3)
                    {
                        System.out.println("密码输入错误超过3次");
                        break;
                    }
                    else
                    {
                        System.out.println("密码输入有误");
                    }
                }
             }
             else
                {
                    System.out.println("卡号输入有误请确认");
                }
             
             while(true)
             {
            Scanner sc2=new Scanner(System.in);
            System.out.println("请输入你要存入的金额:");
            double cun=sc2.nextDouble();
            // 实现存款方法
             if(cun<0)
             {
                 System.out.println("你输入的数据无效,系统将自动退出!谢谢使用");
             }
             else
             {
                 
                 try {
                    Class.forName("oracle.jdbc.driver.OracleDriver");
                
                 
                  //2、获取数据库连接,通过java的驱动管理器
                 //url-数据库地址,不同的数据库写法不一样;user-用户名;password-密码
                  Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl ","test01", "123456");
                 
                  Statement sm=con.createStatement();
                  balance=rs.getDouble("ba_balance");
                  balance+=cun;
                  String sql1="update bank set ba_balance='"+balance+"'where ba_card='"+s+"'";
                 sm.executeQuery(sql1);
                 Statement rl=con.createStatement();
                 String sql2="select ba_balance from bank where ba_card='"+s+"'";
                 ResultSet rt=rl.executeQuery(sql2);
                 System.out.println("存款成功,剩余金额"+rs.getDouble("ba_balance"));
                 sm.close();
                 con.close();
                 conn.close();
                 rs.close();
                 ps.close();
                 break;
                 } catch (Exception e) {
                        // TODO 自动生成的 catch 块
                        e.printStackTrace();
                        continue;
                    }
             }
             }
         } catch (Exception e1) {
                // TODO 自动生成的 catch 块
                e1.printStackTrace();
                continue;
            }
             
            }
     }

    4.取款功能

    public void qu() {
            try{
                while(true)
                {
                Scanner sc=new Scanner(System.in);
                System.out.println("请输入你要查询的卡号:");
                String s=sc.nextLine();
                // 访问数据库
                //1、加载驱动:加载数据库提供的驱动类
                 Class.forName("oracle.jdbc.driver.OracleDriver");
                                 
                  //2、获取数据库连接,通过java的驱动管理器
                 //url-数据库地址,不同的数据库写法不一样;user-用户名;password-密码
                  Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl ","test01", "123456");
                 String sql="select * from bank where ba_card=? ";
                 PreparedStatement ps=conn.prepareStatement(sql);
                 ps.setString(1, s);
                 ResultSet rs=ps.executeQuery();
                 if(rs.next())
                 {
                    String pw= rs.getString("ba_password");
                    Scanner sc1=new Scanner(System.in);
                    System.out.println("请输入卡号密码:");
                    String s1=sc.nextLine();
                    
                    if(pw.equals(s1))
                    {
                        System.out.println("你查询的账号信息为:");
                        System.out.println();
                        System.out.println("******************************");
                        System.out.println();
                        System.out.println("姓名  身份证号    卡号   金额");
                        System.out.println();
                        System.out.println(rs.getString("ba_name")+" "+rs.getString("ba_shenfen")+" "+rs.getString("ba_card")+" "+rs.getString("ba_balance"));
                    }
                    else
                    {
                        int i=0;
                        i++;
                        if(i==3)
                        {
                            System.out.println("密码输入错误超过3次");
                            break;
                        }
                        else
                        {
                            System.out.println("密码输入有误");
                        }
                    }
                }
                    
                else
                {
                    System.out.println("卡号输入有误请确认");
                }
            
        
            Scanner sc1=new Scanner(System.in);
            System.out.println("请输入你要取款的金额:");
            double qu=sc1.nextDouble();
                    Class.forName("oracle.jdbc.driver.OracleDriver");
                
                 
                  //2、获取数据库连接,通过java的驱动管理器
                 //url-数据库地址,不同的数据库写法不一样;user-用户名;password-密码
                  Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl ","test01", "123456");
                 
                  Statement sm=con.createStatement();
                  balance=rs.getDouble("ba_balance");
                // 实现取款方法
                if(qu<balance)
                {
                        balance-=qu;
                          String sql1="update bank set ba_balance='"+balance+"'where ba_card='"+s+"'";
                         sm.executeQuery(sql1);
                         Statement rl=con.createStatement();
                         String sql2="select ba_balance from bank where ba_card='"+s+"'";
                         ResultSet rt=rl.executeQuery(sql2);
                         System.out.println("取款成功,剩余金额"+rt.getDouble("ba_balance"));
                         sm.close();
                         con.close();
                         conn.close();
                         rs.close();
                         ps.close();
                }
                
                
                else if(qu<0) 
                {
                    System.out.println("你输入的数据无效,系统将自动退出!谢谢使用");;
                }
                else
                {
                    System.out.println("余额不足");
                }
                }
                } catch (Exception e) {
                    // TODO 自动生成的 catch 块
                e.printStackTrace();
            }    
        }

    结果:

  • 相关阅读:
    Jackcard类似度和余弦类似度(向量空间模型)的java实现
    Android Wear之android穿戴式设备应用开发平台
    poj 2955 Brackets 括号匹配 区间dp
    Gradle自己定义插件
    C语言之基本算法11—牛顿迭代法求平方根
    jquery ajax实现省市二级联动
    从0開始学习 GitHub 系列之「07.GitHub 常见的几种操作」
    Android Widget和悬浮窗 原理
    怎样推断一个数的二进制有多少个1
    Mac OSX Yosemite 10.10 brew 错误:mktemp: mkdtemp failed on /tmp/git-LIPo: No such file or directory
  • 原文地址:https://www.cnblogs.com/tfl-511/p/5986683.html
Copyright © 2011-2022 走看看