yangtingsky
2017-04-02 11:58
采纳率: 71.4%
浏览 2.1k
已采纳

jdbc结果集查不到数据的相关问题

package com.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

public class TestMain {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
            Scanner inputScanner=new Scanner(System.in);
            String uname=inputScanner.nextLine();
            String upass=inputScanner.nextLine();




        Class.forName("org.gjt.mm.mysql.Driver");
        Connection  conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/yt", 
                                                                                                                        "root", 
                                                                                                                        "yangting");
        Statement stmt=conn.createStatement();


        ResultSet rs=stmt.executeQuery("select * from t_user where uname=' "+uname+" '  and  upass=' "+upass+" '  ");
        System.out.println(rs.next());


        stmt.close();
        conn.close();
    }

}

数据表里对应的用户名和密码为 dmc 和 123
如果从控制台输入dmc 和 123,打印结果为false

控制台输入dmc 和 123' or 321 ,打印结果为true

如果sql 语句中变量uname 和 upass 换成常量,打印结果为true

有大神知道是什么原因吗

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

相关推荐 更多相似问题