Ahoj, psal jsem že mám ještě jeden problém tak tady je, opět se omlouvám za dlouhé příkazy ale..
public String Nacti(String s1, String s2, String s3, String s4) //SELECT MAX(id) FROM table;
{
chybaDatabaze = true;
try (Connection spojeni = DriverManager.getConnection("jdbc:mysql://localhost/db_slovnicek?user=root");
PreparedStatement dotaz = spojeni.prepareStatement("SELECT " + s1 + " FROM " + s2 +" WHERE " + s3 + "=? AND WHERE lekce = 2" );) {
dotaz.setString(1, s4);
try (ResultSet vysledky = dotaz.executeQuery())
{
chybaDatabaze = false;
if (vysledky.next())
{
vystup = vysledky.getString(s1);
return vystup;
}
chybaDatabaze = false;
}
} catch (SQLException ex)
{
System.err.println("Databázi se nepovedlo načíst!" + ex);
chybaDatabaze = true;
return "CHYBA";
}
chybaDatabaze = true;
return "CHYBA";
}
Abych bysvětlil, jedná se o prográmek na anglická slovíčka, který vygeneruje náhodné císlo a poté ho načte z databáze jako id. boolean chybaDatabaze je tam kvuli tomu, že když se vygeneruje id které bylo smazáno celé to zůstane v cyklu a generuje tak dlouho, dokud se "netrefí", problém toho je, že když ta databáze nepujde načíst, tak už to v tom cyklu zůstane, ale nad tím zapřemýšlím později, ano vím že je to neefektivní ale je to moje první "větší" aplikace.
Vím o SQL injekci ale do té třídy to buď zadávám pevně(tabulku, pole) a nebo to bude z comboboxu.
Teď k problému, nyní jsem chtěl do prográmku dát jakési sady slovíček(Jednotlivé učebnice a jednotlivé lekce), napadlo mně to udělat jednodušeji pomocí více tabulek, ale co kdybych chtěl všechny slovíčko najednou? Musel bych náhodně generavat ještě tabulku, tak jsem to chtěl udělat takhle, na stack overflow jsem se dočetl že SQL dotaz takhle kombinovat nejde (SELECT ... FROM ... WHERE ... AND WHERE ... AND WHERE ...), ale už jsem nepochopil, jak to jde udělat jinak..