zoukankan      html  css  js  c++  java
  • 第15周作业

    题目1:编写一个应用程序,输入用户名和密码,访问test数据库中t_login表(字段包括id、username、password),验证登录是否成功。

    package cc;

    import java.sql.Connection;

    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Scanner;
    public class login {
    public static void main(String[] args) {
    try {
    Class.forName("com.mysql.jdbc.Driver");
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入用户名");
    String user=sc.next();
    System.out.println("请输入密码");
    String pass=sc.next();
    try {
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/adminn","root","1234");
    Statement st=con.createStatement();
    ResultSet rs=st.executeQuery("select * from login where username='"+user+"' and password='"+pass+"'");
    // ResultSet rs=st.executeQuery("select * from login where username = 'lijintao'");
    if(rs.next()){
    System.out.print("登陆成功");
    }else{
    System.out.print("登录失败");
    }
    if(rs!=null){
    rs.close();
    }
    st.close();
    con.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }

    }

    }

    运行结果

    题目2:在上一题基础上,当登录成功后,将t_user表(id、name、sex、birthday)的信息进行显示(要求使用DB.java完成登录和获取t_user表中数据的操作),最后再对t_user表进行一条记录的添加操作。

     package cv;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;

    public class DB {
    private Connection con;
    private PreparedStatement pre;
    ResultSet rs;
    private static DB db;
    static{
    try{
    Class.forName("com.mysql.jdbc.Driver");//加载驱动
    }catch(ClassNotFoundException e){
    e.printStackTrace();
    }
    }
    public static DB getInstance(){//单例模式
    if(db==null){
    db=new DB();
    }
    return db;
    }
    private DB(){
    try{
    con =DriverManager.getConnection("jdbc:mysql://localhost:3306/adminn","root","1234");//创建数据库连接对象
    }catch(SQLException e){
    e.printStackTrace();
    }
    }
    public ResultSet executeSelect(String sql, Object[] args){//查询的方法
    try{
    pre =con.prepareStatement(sql); //预处理
    if(args.length>0){
    for(int i=0;i<args.length;i++){
    pre.setObject(i+1, args[i]);
    }
    }
    rs=pre.executeQuery();
    }catch(SQLException e){
    e.printStackTrace();
    }
    return rs;
    }
    public int executeModify(String sql,Object[] args){//增删改的方法
    int n=0;
    try{
    pre =con.prepareStatement(sql);//预处理
    if(args.length>0){
    for(int i=0;i<args.length;i++){
    pre.setObject(i+1, args[i]);
    }
    }
    n = pre.executeUpdate();//更新
    }catch(SQLException e){
    e.printStackTrace();
    }
    return n;
    }
    public void close(){//资源的关闭
    try{
    if(rs!=null){
    rs.close();
    }
    pre.close();
    con.close();
    }catch(SQLException e){
    e.printStackTrace();
    }
    }
    }

    package cv;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Date;
    import java.util.Scanner;
    public class Tesr {
    public static void main(String[] args) {
    Connection con=null; //创建连接对象
    PreparedStatement pre=null;//预处理对象
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入用户名");
    String user=sc.next();
    System.out.println("请输入密码");
    String pass=sc.next();
    Object b[]={user,pass};//从键盘接受的用户名和密码 放到数组中
    String sql="select * from login where username=? and password=?";//查询语句
    DB db=DB.getInstance();
    db.executeSelect(sql, b);//调用db的方法
    try{
    if(db.rs.next()){
    System.out.println("登陆成功");
    Object d[]=new Object[30];//设置数组用来放查询的内容
    sql="select * from user";
    db.executeSelect(sql, d);
    while(db.rs.next()){
    String name1=db.rs.getString(2);//获取查询到的数据
    String sex1=db.rs.getString(3);
    String brithday=db.rs.getString(4);
    System.out.println("姓名"+name1+" 性别"+sex1+" 生日日期"+brithday+" " );
    }
    System.out.print("请输入新的数据");
    String name=sc.next();
    String sex=sc.next();
    String birthday=sc.next();
    Object j[]={name,sex, birthday};//从键盘接受的内容放到数组中
    String sqll="insert into user(name,sex,birthday)values(?,?,?)";//增加语句
    int m=db.executeModify(sqll,j);//调用db增加的方法
    if(m > 0){
    System.out.println("增加成功");
    }else{
    System.out.println("增加失败");
    }

    } else{

    System.out.print("登陆失败");
    }
    }catch(SQLException e){
    e.printStackTrace();
    }
    }

    }

    运行结果

  • 相关阅读:
    Java暑期学习第三十一天日报
    使用dataadapter和dataset更新数据库
    一些很酷的.Net技
    一个阴历阳历互相转化的类(c#农历)
    详细讲解简洁、明晰!数据库设计三大范式应用实例
    WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题解决方案
    CONVERT函数方法大全(经验总结)
    使用C#将字符串转换成十六进制以及其逆转换
    List myList = new List()有关的方法及属性
    C#实现P2P之UDP穿透NAT及其原理讲解11
  • 原文地址:https://www.cnblogs.com/LJTQ/p/12044257.html
Copyright © 2011-2022 走看看