标签:row 数据库名 bsp 成功 nbsp div 赋值 位置 manage
1 package com.jdbc;
2
3 import java.sql.Connection;
4 import java.sql.DriverManager;
5 import java.sql.ResultSet;
6 import java.sql.Statement;
7 import java.util.Scanner;
8
9 public class Atm{
10 static Statement sc=null;
11 static Scanner sca=new Scanner(System.in);
12 static String username;
13 public static void main(String[] args) throws Exception {
14 //该方法是 得到数据库的操作平台的。
15 getStatement();
16 System.out.println("欢迎来到J18银行");
17 System.out.println("请登录:");
18 System.out.println("用户名:");
19 username=sca.next();
20 System.out.println("密码:");
21 String password=sca.next();
22 //调用查询账户方法,需要传入 用户名 和密码 返回int类型的值
23 int num=queryJ18(username,password);
24 //num==1 表示 数据库中有对应的用户名和密码
25
if(num==1){
26 System.out.println("登录成功");
27 //使用for死循环 进行操作
28 for(;;){
29 System.out.println("请选择交易类型:");
30 System.out.println("1、存钱 2、取钱 3、查询余额");
31 int cz=sca.nextInt();//输入操作类型
32 if(cz==1){
33 cun(); //调用存钱方法
34 }else if(cz==2){
35 qu();//调用取钱方法
36 }else if(cz==3){
37 query();//调用查询余额方法
38 }else{
39 System.out.println("谢谢使用!");
40 break;
41 }
42 }
43 }
44
else{
45 System.out.println("登录失败!");
46 }
47 }
48 /**
49 * 取钱方法
50 * @throws Exception
51 */
52
public static void qu() throws Exception{
53 System.out.println("请输入你的取款金额:");
54 double money=sca.nextDouble();
55 String sql="update J18 set money=money-"+money;
56 System.out.println(sql);
57 boolean a =sc.execute(sql);
58
if(!a){
59 System.out.println("取款成功!");
60 }
61 }
62 /**
63 * 存钱方法
64 */
65
public static void cun() throws Exception{
66
67 System.out.println("请输入你的存款金额:");
68 double money=sca.nextDouble();//输入存款金额
69 //拼接 修改sql
70 String sql="update J18 set money=money+"+money;
71 //在 操作平台中 执行 sql语句
72 boolean a =sc.execute(sql);
73 //判断是否成功
74 if(!a){
75 System.out.println("存款成功!");
76 }
77 }
78 public static int queryJ18(String username,String password) throws Exception{
79 //拼接查询sql 注意: 在拼接的时候,,字符串需要在前后加‘(单引号)
80 String sql="select * from J18 where Sname=‘"+username+"‘ and pwd=‘"+password+"‘";
81 //在平台中执行查询sql ,并把查询的内容放在 ResultSet rs 里面
82 ResultSet rs=sc.executeQuery(sql);
83 //声明一个int 类型的变量 初始值 0
84 int num=0;
85 //如果查询的结果里面有值得话,就进入循环里面
86 while(rs.next()){ //rs.next() 是判断当前位置是否有数据,有就进入 没有就跳过
87 num++;
88 }
89 return num;
90 }
91 /*
92 * 查询方法
93 */
94
public static void query() throws Exception{
95 //拼接查询sql 注意: 在拼接的时候,,字符串需要在前后加‘(单引号)
96 String sql="select money from J18 where Sname=‘"+username+"‘";
97 //在平台中执行查询sql ,并把查询的内容放在 ResultSet rs 里面
98 ResultSet rs=sc.executeQuery(sql);
99 //声明一个double类型的变量 赋值 0
100 double money=0;
101 //rs.next() 是判断当前位置是否有数据,有就进入 没有就跳过
102 while(rs.next()){
103 //把查询出来的数据赋值给money 变量
104 money=rs.getDouble(1);
105 }
106 System.out.println("你的账户余额:"+money);
107 }
108
109 /**
110 * 得到数据库操作平台方法
111 * @throws Exception
112 */
113 public static void getStatement() throws Exception{
114 //1\加载驱动
115 Class.forName("com.mysql.jdbc.Driver");
116 /**
117 * 数据库连接URL
118 * jdbc:mysql://IP:port/数据库名
119 * jdbc:mysql://localhost:3306/score
120 */
121 String url="jdbc:mysql://localhost:3306/atm";
122 //数据库用户名
123 String username="root";
124 //数据库密码
125 String password="root";
126 //使用驱动得到数据库连接,需要传入 url username password
127 Connection c=DriverManager.getConnection(url, username, password);
128 //得到数据库操作平台,平台
129 sc=c.createStatement();
130 }
131 }
标签:row 数据库名 bsp 成功 nbsp div 赋值 位置 manage
原文地址:http://www.cnblogs.com/robocuer/p/5994833.html