Y特奈特 2023-03-12 15:49 采纳率: 91.9%
浏览 8
已结题

关于jdbc中常见的api的区别

ResultSet executeQuery(String sql)
和ResultSet executeQuery()的区别在哪里啊,刚刚写了一个jdbc的程序,使用后者就正确。使用前者运行后提示sql语法错误,且正常的登录逻辑不对,即使输入了正确的密码和用户名也提示登录失败

  • 写回答

2条回答 默认 最新

  • 嗷呜大嘴狼 2023-03-12 16:02
    关注

    ResultSet executeQuery(String sql) 方法需要传入一个SQL查询语句作为参数,用于执行这个SQL查询语句并返回结果集。例如:

    String sql = "SELECT * FROM users WHERE id = 1";
    ResultSet rs = statement.executeQuery(sql);
    
    
    

    而 ResultSet executeQuery() 方法没有参数,用于执行已经被设置好的查询语句,并返回结果集。例如:

    statement = connection.createStatement();
    String sql = "SELECT * FROM users WHERE id = 1";
    statement.executeQuery(sql);
    ResultSet rs = statement.executeQuery();
    
    
    

    如果你使用 ResultSet executeQuery() 方法,那么你需要在执行查询之前先使用 Statement 的一些方法(例如 executeUpdate())设置好查询语句,否则会抛出异常。

    如果你使用 ResultSet executeQuery(String sql) 方法,但是运行后提示 SQL 语法错误,那么可能是你传入的 SQL 查询语句不正确。你可以将这个 SQL 查询语句复制到一个 SQL 编辑器(例如 MySQL Workbench 或者 Navicat),并在这个 SQL 编辑器中运行,看看是否有语法错误。

    至于你的登录逻辑有问题,可能与你的 SQL 查询语句有关,也可能与你的代码逻辑有关,需要更多的代码信息和错误提示才能判断。

    答案来自 我点评开发社区 https://www.wodianping.com/

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月12日
  • 创建了问题 3月12日

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题