2
回答
dbutils问题
注册华为云得mate10,2.9折抢先购!>>>   

public boolean findById(String userid, String password) {
            String sql = "SELECT password FROM staffifno WHERE staffId=?";
            System.out.print("我看到了");
            StaffInfo user = (StaffInfo)dBHelper.findById(sql, userid);//执行到这就报空指针
            System.out.print("你看到没");
            if ( password.equals(user.getPasswordS()) ) {
                  System.out.print("我看到了"+user.getPasswordS());
                  return true;
            }
            return false;
      }
//----本人是个初学者,还请大家帮忙看看
//--------------------------------谁帮我看看是哪点错了----我找了很久都不知道---
public Object findBy(String sql, String columnIndex, Object[] params) {
            queryRunner = new QueryRunner();
            Object object = null;
            try {
                  if ( params == null ) {
                        object = queryRunner.query(getConnection(), sql, new ScalarHandler(columnIndex));
                  } else {
                        object = queryRunner.query(getConnection(), sql, new ScalarHandler(columnIndex), params);
                  }
            } catch ( SQLException e ) {
            }
            return object;
      }

      public Object findBy(String sql, String columnIndex, Object params) {
            return findBy(sql, columnIndex, new Object[]{params});
      }

      public Object findById(String sql, String columnIndex) {
            return findBy(sql, columnIndex, null);
      }

 

举报
共有2个答案 最后回答: 8年前

这程序谁写的,该打屁股!完全没有章法,SQL语句返回的是密码的字符串,结果却赋值给一个 StaffInfo 对象。

另外 ScalarHandler 构造函数的参数是列名,而不是条件!而且 ScalarHandler 只能返回一些简单类型,如数字、字符串、日期等

建议看看 oschina 的 QueryHelper 类吧

引用来自“红薯”的帖子

这程序谁写的,该打屁股!完全没有章法,SQL语句返回的是密码的字符串,结果却赋值给一个 StaffInfo 对象。

另外 ScalarHandler 构造函数的参数是列名,而不是条件!而且 ScalarHandler 只能返回一些简单类型,如数字、字符串、日期等

建议看看 oschina 的 QueryHelper 类吧

谢谢红薯大哥受教!

顶部