「已注销」 2015-06-23 04:31 采纳率: 16.7%
浏览 1538

关于JAVA Mysql的问题

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;

import util.ConnectionUtil;

/**

  • 类描述 :用户管理 */

public class Administrator {
public Administrator(){
//生成菜单
menu();
}

private void menu() {
Scanner sc = new Scanner(System.in);
System.out.println("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆用户菜单☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println("┌----------------------------------------------------------------------------┐");
System.out.println("├-------------------0>新增用户 -------------------┤");
System.out.println("├-------------------1>修改用户 -------------------┤");
System.out.println("├-------------------2>删除用户 -------------------┤");
System.out.println("├-------------------3>查看用户 -------------------┤");
System.out.println("├-------------------4>返回主菜单 -------------------┤");
System.out.println("└----------------------------------------------------------------------------┘");
int flag = sc.nextInt();
switch(flag){
case 0 : addAdministrator();break; //新增
case 1 : editAdministrator();break; //修改
case 2 : deleteAdministrator();break; //删除
case 3 : queryAdministrator();break; //查看
case 4 : Login.mainMenu();break; //返回主菜单
default: menu();break;
}
}

//新增用户
private void addAdministrator() {
System.out.println("请输入用户的信息,格式:用户账号;用户密码;用户名称;用户电话。例如:" +
"A0001;123456;张三;15116210083");
try{
Scanner sc = new Scanner(System.in);
String msg = sc.nextLine();
String[] msgs = msg.split(";");
String AdminAccount = msgs[0];
String AdminPassword = msgs[1];
String AdminName = msgs[2];
String AdminTel = msgs[3];

String sql = "insert into Administrator values(?,?,?,?)";
Connection conn = ConnectionUtil.getConnection();
PreparedStatement sta = conn.prepareStatement(sql);
sta.setString(1, AdminAccount);
sta.setString(2, AdminPassword);
sta.setString(3, AdminName);
sta.setString(4, AdminTel);
int rs = sta.executeUpdate();
if(rs>0){
System.out.println("新增用户成功!");
}else{
System.out.println("新增用户失败!");
}

System.out.println("┌----------------------------------------------------------------------------┐");
System.out.println("├-------------------0> 查看用户列表 ------------------┤");
System.out.println("├-------------------1> 返回上级菜单 ------------------┤");
System.out.println("├-------------------2> 返回主菜单 ------------------┤");
System.out.println("└----------------------------------------------------------------------------┘");

int flag = sc.nextInt();
switch(flag){
case 0 : queryAdministrator();break; //查看用户列表
case 1 : menu();break; //返回上一级菜单
case 2 : Login.mainMenu();break; //返回主菜单
default: menu();break;
}
}catch(Exception e){
System.out.println("操作失败,请重试!");
menu();
}
}

//用户修改
private void editAdministrator() {
System.out.println("请输入要修改的用户账号:");
try{
Scanner sc = new Scanner(System.in);
String AdminAccount = sc.nextLine();
String sql = "select * from Administrator where AdminAccount = "+AdminAccount+"";
Connection conn = ConnectionUtil.getConnection();
PreparedStatement sta = conn.prepareStatement(sql);
ResultSet rs = sta.executeQuery();
if(rs.next()){
System.out.println("账号:"+rs.getString(1));
System.out.println("密码:"+rs.getString(2));
System.out.println("姓名:"+rs.getString(3));
System.out.println("电话:"+rs.getString(4));
System.out.println(rs.getString(1)+"-"+rs.getString(2)+"-"+rs.getString(3)+"-"+rs.getString(4));
System.out.println();
System.out.println("请输入用户的信息进行修改,格式:密码-姓名-电话-账号,例如:张三-111-15116210083-A0001");
Scanner scc = new Scanner(System.in);
String msg = scc.nextLine();
String[] AdminInfo = msg.split("-");
String AdminPassword = AdminInfo[0];
String AdminName = AdminInfo[1];
String AdminTel = AdminInfo[2];

String updateSql = "update Administrator set AdminPassword =?,AdminName=?,AdminTel=? where AdminAccount =?";
PreparedStatement ps = conn.prepareStatement(updateSql);
ps.setString(1, AdminPassword);
ps.setString(2, AdminName);
ps.setString(3, AdminTel);
ps.setString(4, AdminAccount);
int result = ps.executeUpdate();
if(result>0){
System.out.println("用户修改成功!");
}else{
System.out.println("用户修改失败!");
}
}else{
System.out.println("该用户不存在!");
}
System.out.println("┌----------------------------------------------------------------------------┐");
System.out.println("├-------------------0> 查看用户列表 ------------------┤");
System.out.println("├-------------------1> 返回上级菜单 ------------------┤");
System.out.println("├-------------------2> 返回主菜单 ------------------┤");
System.out.println("└----------------------------------------------------------------------------┘");
int flag = sc.nextInt();
switch(flag){
case 0 : queryAdministrator();break; //查看管理员列表
case 1 : menu();break; //返回上一级菜单
case 2 : Login.mainMenu();break; //返回主菜单
default: menu();break;
}
}catch(Exception e){
System.out.println("操作失败,请重试!");
menu();
}
}

//用户删除
private void deleteAdministrator() {
System.out.println("请输入用户账号进行删除!账号:");
try{
Scanner sc = new Scanner(System.in);
String userId = sc.nextLine();
System.out.println("警告:确定删除该用户?0:确定;1:取消");
Scanner scannerTemp = new Scanner(System.in);
int isDelete = scannerTemp.nextInt();
if(isDelete==0){
String sql = "delete Administrator where AdminAccount = ?";
Connection conn = ConnectionUtil.getConnection();
PreparedStatement sta = conn.prepareStatement(sql);
sta.setString(1, userId);
int rs = sta.executeUpdate();
if(rs>0){
System.out.println("用户删除成功!");
}else{
System.out.println("用户删除失败!");
}
}
System.out.println("┌----------------------------------------------------------------------------┐");
System.out.println("├-------------------0> 查看用户列表 ------------------┤");
System.out.println("├-------------------1> 返回上级菜单 ------------------┤");
System.out.println("├-------------------2> 返回主菜单 ------------------┤");
System.out.println("└----------------------------------------------------------------------------┘");
int flag = sc.nextInt();
switch(flag){
case 0 : queryAdministrator();break; //查看管理员列表
case 1 : menu();break; //返回上一级菜单
case 2 : Login.mainMenu();break; //返回主菜单
default: menu();break;
}
}catch(Exception e){
System.out.println("操作失败,请重试!");
menu();
}
}

// 用户查看
private void queryAdministrator() {
System.out.println("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆用户列表☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println("┌----------------------------------------------------------------------------┐");
try{
String sql = "select * from Administrator";
Connection conn = ConnectionUtil.getConnection();
PreparedStatement sta = conn.prepareStatement(sql);
ResultSet result = sta.executeQuery();
while(result.next()){
System.out.println("账号:"+result.getString(1));
System.out.println("姓名:"+result.getString(3));
System.out.println("密码:"+result.getString(2));
System.out.println("电话:"+result.getString(4));
System.out.println("├----------------------------------------------------------------------------┤");
}
System.out.println("├----------------------------------------------------------------------------┤");
Scanner scanner = new Scanner(System.in);

System.out.println("├----------------------------------------------------------------------------┤");
System.out.println("├-------------------0>返回上级菜单 -------------------┤");
System.out.println("├-------------------1>返回主菜单 -------------------┤");
System.out.println("└----------------------------------------------------------------------------┘");
int flag = scanner.nextInt();
switch(flag){
case 0 : menu();break; //返回上一级菜单
case 1 : Login.mainMenu();break; //返回主菜单
default: menu();break;
}
}catch(Exception e){
System.out.println("操作失败,请重试!");
menu();
}
}
public static void main(String[] args){
new Administrator();
}
}
为什么我新增 和修改是 输入中文就会失败,输入数字 字母都没事
这是什么地方出错了。

  • 写回答

6条回答 默认 最新

  • a953284148 2015-06-23 05:13
    关注

    怎么失败啊?页面跳转不对?跳到错误页面?还是数据库没插入?还是插入的是乱码?

    评论

报告相同问题?

悬赏问题

  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答