Я не могу войти в блок elseJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Я не могу войти в блок else

Сообщение Anonymous »

Код: Выделить всё

private String kelimeyiCek() {
String resimURL = null;
String cumle;

// Daha önce seçilen kelime ID'sini saklamak için değişken
int oncekiKelimeID = 0;

// Bilinenler tablosundan bir kelime seç
sql = "SELECT ingilizce_kelime, turkce_karsiligi, resim_url, cumle_kullanimi, kelimeID, status, tarih FROM bilinenler WHERE status >= 1 AND kelimeID != ? ORDER BY RAND() LIMIT 1";
try (PreparedStatement statement = baglanti.prepareStatement(sql)) {
statement.setInt(1, oncekiKelimeID); // Önceki kelimeyi hariç tut

ResultSet resultSet = statement.executeQuery();

if (resultSet.next()) {
String kelime = resultSet.getString("ingilizce_kelime");
dogruCevap = resultSet.getString("turkce_karsiligi");
resimURL = resultSet.getString("resim_url");
kelimeId = resultSet.getInt("kelimeID");
cumle = resultSet.getString("cumle_kullanimi");
status = resultSet.getInt("status");
upTarih = resultSet.getString("tarih");
txt_cumle1.setText(cumle);
txt_sinavKelimesi.setText(kelime);
txt_statusID.setText(String.valueOf(status));
txt_upTarihId.setText(upTarih);

// Önceki kelime ID'sini güncelle
oncekiKelimeID = kelimeId;
cumleleriGoster(kelimeId);
} else {
// Bilinenler tablosundan kelime seçilemedi, kalan soruları kelimeler tablosundan al
sql = "SELECT ingilizce_kelime, turkce_karsiligi, resim_url, cumle_kullanimi, kelimeID, status, tarih FROM kelimeler ORDER BY RAND() LIMIT 1";
try (PreparedStatement kalanSorularStatement = baglanti.prepareStatement(sql)) {
ResultSet kalanSorularResultSet = kalanSorularStatement.executeQuery();

if (kalanSorularResultSet.next()) {
String kelime = kalanSorularResultSet.getString("ingilizce_kelime");
dogruCevap = kalanSorularResultSet.getString("turkce_karsiligi");
resimURL = kalanSorularResultSet.getString("resim_url");
kelimeId = kalanSorularResultSet.getInt("kelimeID");
cumle = kalanSorularResultSet.getString("cumle_kullanimi");
status = kalanSorularResultSet.getInt("status");
upTarih = kalanSorularResultSet.getString("tarih");
txt_cumle1.setText(cumle);
txt_sinavKelimesi.setText(kelime);
txt_statusID.setText(String.valueOf(status));
txt_upTarihId.setText(upTarih);
cumleleriGoster(oncekiKelimeID);
System.out.println("çalıştı");
} else {
txt_sinavKelimesi.setText("");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
} catch (SQLException e) {
e.printStackTrace();
}

return resimURL;
}
В этих кодах я хочу извлечь все данные из таблицы «bilinenler», а затем извлечь оставшиеся данные из таблицы «kelimeler», но я не могу ввести else, на экране появляются только данные из таблицы «bilinenler». Если в таблице "билиненлер" нет данных, то отображаются данные в таблице "келимелер".
Я написал метод управления этой проблемой и попробовал его использовать, но Я сделал свой код хуже. При желании вы можете решить проблему с помощью этого механизма управления. Я также поделюсь с вами этим методом.

Код: Выделить всё

private boolean bilinenlerTablosundaSorukalmadiMi() throws SQLException {
String kontrolSorgusu = "SELECT COUNT(*) AS sayi FROM bilinenler WHERE status >= 1";
try (PreparedStatement kontrolStatement = baglanti.prepareStatement(kontrolSorgusu)) {
ResultSet kontrolResultSet = kontrolStatement.executeQuery();
if (kontrolResultSet.next()) {
int soruSayisi = kontrolResultSet.getInt("sayi");
return soruSayisi == 0; // Eğer 0 ise daha fazla soru yok demektir
}
}
return false; // Hata durumu
}
Я хочу получить случайные данные из таблицы «kelimeler» после извлечения всех данных из таблицы «bilinenler». Я определил пользовательский ввод, который ранее определил для этой программы. Например, когда пользователь запрашивает 10 данных, если в таблице «bilinenler» есть 6 данных, пользователь представит их все и выберет оставшиеся 4 случайным образом из таблицы «kelimeler».

Подробнее здесь: https://stackoverflow.com/questions/783 ... else-block
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»