zoukankan      html  css  js  c++  java
  • Java 验证用户名、密码

    1. 数据库操作

    2.验证用户

    2.1. 查询

    String sql = String.format("select count(*) from user where name='%s' and password='%s';", userName,
                        userPass);
    
    int row = 0;
    jb.queryForObject(sql, Integer.class, row );

      根据 row 的值来判断是否有该用户。

    2.1. 错误 

    Parameter index out of range (1 > number of parameters, which is 0)

    2.1.1. sql语句

      测试后没问题

    2.1.2. 猜测一

      format 语句错误,检查后发现没错

    2.1.3. 猜测二

      int 改为 integer ,改后也没有变化

    2.1.4. 还是从提示本身入手

      好像是说 jb.queryForObject(sql, Integer.class, row ); 有问题。网上查了下,改为:

    Integer row = (Integer) jb.queryForObject(
                        "select count(*) from user where name=? and password=?",new Object[] {userName, userPass},    
                        java.lang.Integer.class);
    • 成功了!!!
    • ‘%d’'?' 要改为 ?
    • 应该想到 已经连接成功,这个错误是出在查询上。

       

  • 相关阅读:
    blocksit
    getdata
    ASP.net 探针
    301重定向
    webapi
    Unity NGUI UIPanel下对粒子的剪裁
    unity3d 之本地推送
    c#之时间戳与DateTime的相互转换
    c#之从服务器下载压缩包,并解压
    Unity3d 开发之 ulua 坑的总结
  • 原文地址:https://www.cnblogs.com/SimonGao/p/4967214.html
Copyright © 2011-2022 走看看