查询选择错误的布尔值

时间:2015-06-01 16:15:14

标签: java sql servlets

我用3个布尔列从表中得到不可预知的结果。

public ArrayList<Benutzerdaten> gibAlleBenutzer() {
        String query = "SELECT * FROM Benutzerdaten";
        Benutzerdaten b;
        ArrayList<Benutzerdaten> benutzer = new ArrayList();
        try {
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            while (rs.next()) {
                b = new Benutzerdaten(rs.getString("LoginName"), rs.getString("Name")
                        , rs.getString("Vorname"), rs.getString("Email"), rs.getInt("Passwort")
                        , rs.getBoolean("P"), rs.getBoolean("B"), rs.getBoolean("A"));
                benutzer.add(b);
            }
        } catch (SQLException e) {
            e.getMessage();
        }
        return benutzer;
    }

正如你所看到的,我有3个布尔列,分别叫做P,B和A.其中一个条目来自Benutzerdaten&#39; P = false,B = false,A =真

但是,我从这个查询得到了不同的结果:P = false,B = true,A = false,我用调试器检查过。我无法想出查询返回错误结果的任何原因。为什么会这样?

我的Benutzerdaten类的构造函数:

public Benutzerdaten(String Login, String Name, String Vorname, String Email, int Passwort
, boolean produktkatalog, boolean benutzerverwaltung, boolean auswertung) {
    this.Login = Login;
    this.Name = Name;
    this.Vorname = Vorname;
    this.Email = Email;
    this.Passwort = Passwort;
    this.produktkatalog = produktkatalog;
    this.benutzerverwaltung = benutzerverwaltung;
    this.auswertung = auswertung;
}

按条目列出的布尔列的预期值: 0 =假,1 =真

P B A

一个。 0 0 1

湾1 1 0

℃。 1 0 0

但我得到了什么:

一个。 1 1 1

湾1 0 1

℃。 1 0 0

0 个答案:

没有答案