0
Я использую базу данных MS Access, где я храню Man of the Match в качестве Yes/No check-box. Целью приведенного ниже кода является проверка отметки галочки. Если он отмечен галочкой, добавьте его в TotalMoM.if (boolean) не выполняется?
Проблема: TotalMoM всегда 1 (даже если отмечено более одного галочки) или 0 (если отмечены галочки нуля).
try
{
String filename = "Database.mdb";
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database += filename.trim() + ";DriverID=22;READONLY=false";
conn = DriverManager.getConnection(database, "", "");
for(int x = 1; x < 18; x++)//will repeat 18 times (once for each team fixture)
{
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery("SELECT * FROM tblPlayers WHERE PlayerID = "+ PlayerID +" AND FixtureNumber = "+ x);
while (rs.next())
{
MoM = false; //initialising variable
TotalMoM = 0;
MoM = rs.getBoolean("MoM");
if (MoM){ //if Man of the Match checkbox is ticked
TotalMoM = TotalMoM + 1; //calculating total
}
jLabel12.setText(String.valueOf(TotalMoM));
}
}
}
catch (Exception e)
{
System.out.println("Exception e:" + e);
}
Checkbox быть галочка не обязательно означает, что значение извлекается из БД 'true'. Распечатайте его, чтобы понять, что это такое. – devnull
Вы перебрасываете 'TotalMoM = 0;' на каждом проходе через цикл. Сделайте это один раз перед циклом. – AntonH
Спасибо Антон, наверное, я слишком долго смотрел на экран :) – user3450753