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 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示