java - 获取数据库中的用户名和用户类型给程序Java

标签 java ms-access jdbc netbeans-7 jdbc-odbc

我制作了一个带有数据库的程序。这是我现在查看的数据库:

enter image description here

当用户使用其用户名登录时,我已经可以使用用户类型检索用户名。但我现在有一个问题,程序运行正常,唯一的是程序显示所有用户名和用户类型,即使我使用用户名登录:Fuhans。

我想要的是程序仅显示登录用户名(例如:我使用用户名登录:Fuhans,程序显示消息框,其中显示用户名(Fuhans)和仅该用户名的用户类型(管理员),不是数据库中的所有用户名。

如何解决这个问题?

这是我的代码:(使用 Java 编写)

private void GetUsername(Connection conn, Statement state, ResultSet result)
    {
        try
        {
            String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
            Class.forName(driver);

            String url = "jdbc:odbc:Database";

            conn = DriverManager.getConnection(url);

            state = conn.createStatement();

            String query = "select Username, UserType from Member";

            result = state.executeQuery(query);

            while(result.next())
            {
                user = result.getString("Username");
                userType = result.getString("UserType");

                _userInformation.setUser(user);
                _userInformation.setUserType(userType);

                _sound.PlaySound(1);
                _infoBox.ShowMessageBox("Welcome: " + _userInformation.getUser() + " - " + _userInformation.getUserType() + " ! ", "Welcome" , 1);
            }
        } 

        catch (Exception e) 
        {
            System.err.println(e.getMessage());

            _sound.PlaySound(2);

            _infoBox.ShowMessageBox(e.getMessage(), "Error", 2);

            _reminder = new Reminder(1);

            JOptionPane.showOptionDialog(null, "Program will be closed due to error!", "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, new Object[]{}, null);

            System.exit(0);
        }
    }

非常感谢!

最佳答案

更改此查询:

select Username, UserType from Member

select Username, UserType from Member where Username=? and UserType=?

并将相应的参数传递给?。基本上,您将获得没有过滤的所有记录。

关于java - 获取数据库中的用户名和用户类型给程序Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20044002/

相关文章:

vba - 从 Access VBA 运行存储过程

sql - 在 Ms Access 中对数据类型为 "Yes/No"的列使用 iif 子句

java - count()/sum() 的 ResultSetMetadata 列类型

java - 一般如何从 ResultSet 中获取值?

java - 名为 'localhost' 的远程数据库服务器的数据库连接字符串

java - ViewBinder - null 对象引用/在 SwipeRefresh 上也不起作用?

java - 无法正确转换 JSON 数据

java - 将 java.lang.String 类型映射到 Postgres JSON 类型

java - 转到 TextView 时与旋转器相关的问题

sql-server - 如何模拟 ODBC 超时错误?