将用户输入与mysql数据库值进行比较

时间:2015-11-02 21:17:15

标签: java mysql

public void datuieguve(){
    Scanner ievads = new Scanner(System.in);
    String lietotIn = ievads.next();
//  String paroleIn = ievads.next();
    try {           
        quer = savien.createStatement();
        String kverijs = "select lietotajvards from lietotaji where lietotajvards = '" +lietotIn+ "';";
        rezult = quer.executeQuery(kverijs);
        System.out.println(rezult.next());
        String lietotajvards = rezult.getString("lietotajvards");

        if (rezult.equals(lietotIn))
        {
            System.out.println("Yup");
        }
        else
        {
            System.out.println("Nope");
        }   
    } catch(Exception ex) {
            System.out.println("Kluuda: " +ex); 
    }
    ievads.close();
}

大家好,我正在尝试创建一个代码,用于输入用户并将其与mysql数据库值进行比较。问题是,它不起作用而且我被困住了。如果有人能弄清楚我的代码有什么问题并给我一些提示或东西,我会很感激,因为我不能:)

我认为我找到了连接部分,但这种比较让我疯狂。

1 个答案:

答案 0 :(得分:0)

  

对您的代码进行以下更改:

  while(rezult.next()){
     String lietotajvards = rezult.getString("lietotajvards");


            if(lietotajvards.equals(lietotIn))
            {
                System.out.println("Yup");
            }
            ...
    }
  

编辑:   使用预准备语句而不是create语句的好习惯。

<强>实施例

Connection db = con.getConnection();
try {
  PreparedStatement ps = ...;
  try {
    ResultSet rs = ...
    try {
      ...
    }
    finally {
      rs.close();
    }
  } 
  finally {
    ps.close();
  }
} 
finally {
  db.close();
}