Wang_mouren 2022-10-08 21:33 采纳率: 33.3%
浏览 31
已结题

idea java代码想通过JDBCUtils实现一个连接数据库模拟登陆的功能

问题遇到的现象和发生背景

idea java代码想通过JDBCUtils实现一个连接数据库模拟登陆的功能 结果输入正确的username和password也返回账号或密码错误

用代码块功能插入代码,请勿粘贴截图
package cn.itcast.jdbc;

import cn.itcast.domain.User;
import cn.itcast.utils.JDBCUtils;
import cn.itcast.utils.JDBCUtils_repeat;

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

public class jdbcDemo08_login {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入姓名:");
        String username = sc.next();
        System.out.println("请输入密码:");
        String password = sc.next();

        boolean flag = new jdbcDemo08_login().login(username, password);
        if (flag == true ){
            System.out.println("登陆成功!");
        }else {
            System.out.println("用户名或密码错误!");
        }
    }

    public boolean login(String username,String password){

        if (username == null || password ==null){
            return false;
        }

        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        //连接数据库
        try {
            conn = JDBCUtils_repeat.getConnection();
            /*String sql = "select * from user where username = ' "+username+"' and password = '"+password+"'";*/
            String sql = "select * from user where username = ? and password = ? ";
            ps = conn.prepareStatement(sql);
            ps.setString(1,"username");
            ps.setString(2,"password");
            rs = ps.executeQuery();
            return rs.next();  //如果有下一行,返回true
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            JDBCUtils_repeat.close(rs,ps,conn);
        }
        return false;
    }
}
运行结果及报错内容

img


img

  • 写回答

1条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2022-10-08 21:49
    关注

    双引号都去掉,你传的是 username,password变量,而不是两个这个字符串啊

     ps.setString(1,username);
     ps.setString(2,password);
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月16日
  • 已采纳回答 10月8日
  • 创建了问题 10月8日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改