Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 4 - Databáze v Java JDBC - INSERT, UPDATE, DELETE a COUNT

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Milan Gallas
Tvůrce
Avatar
Milan Gallas:22.4.2014 22:44

V tom příkladu - počet řádků máš SQL injekci. Přidáváš tam tabulku osoby přímo. Měl bys tu tabulku dosadit jako parametr metodou set.

 
Odpovědět
22.4.2014 22:44
Avatar
Milan Gallas
Tvůrce
Avatar
Milan Gallas:22.4.2014 22:53

Tak jsem to zkoušel a celkově mi dělá problém přidat tabulku jako parametr do sql dotazu. Mám jednoduchou metodu

public int count(String table) throws SQLException{
        PreparedStatement ps =
                connection.prepareStatement("SELECT * FROM ? WHERE id = ?");
        ps.setString(1, table);
        ps.setInt(2, 2);
       ResultSet result = ps.executeQuery();
         result.next();
        return result.getInt(1);
    }

Metoda je celkem nesmyslná. Ber to prostě jako příklad.

píše mi to, že mám syntatickou chybu v SQL poblíž - SELECT * FROM programatori WHERE id = 2

Editováno 22.4.2014 22:54
 
Odpovědět
22.4.2014 22:53
Avatar
Matěj Kripner
Tvůrce
Avatar
Matěj Kripner:12.6.2014 15:50

Zdravím, co vše musím udělat pro to, abych mohl program spustit i na PC bez nainstalované databáze? Dík.

 
Odpovědět
12.6.2014 15:50
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Matěj Kripner
David Hartinger:12.6.2014 15:53

Musíš použít např. SQLite, která se nemusí instalovat.

Odpovědět
12.6.2014 15:53
New kid back on the block with a R.I.P
Avatar
Milan Křepelka
Tvůrce
Avatar
Odpovídá na Matěj Kripner
Milan Křepelka:12.6.2014 15:56

Existují databázové stroje které není potřeba instalovat

http://en.wikipedia.org/…ded_database

Zajímavá volba může být i

http://www.db4o.com/

Když člověk tak nějak nebazíruje na SQL

 
Odpovědět
12.6.2014 15:56
Avatar
Matěj Kripner
Tvůrce
Avatar
Odpovídá na David Hartinger
Matěj Kripner:12.6.2014 16:13

Dobře, děkuju :)

 
Odpovědět
12.6.2014 16:13
Avatar
Milan Křepelka
Tvůrce
Avatar
Odpovídá na Matěj Kripner
Milan Křepelka:13.6.2014 11:10

SQL Lite není dobrá volba jako databázový stroj. Ono je to opravdu až příliš mnoho Lite.

 
Odpovědět
13.6.2014 11:10
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Milan Křepelka
David Hartinger:13.6.2014 12:44

SQLite se používá docela dost, záleží na co ji chceš. Pro robustní firemní aplikaci je to špatná volba, ale pro nějakou jednoduchou evidenci naopak velmi dobrá.

Odpovědět
13.6.2014 12:44
New kid back on the block with a R.I.P
Avatar
santa580
Člen
Avatar
santa580:12.11.2015 14:10

Ahoj, mám problém s diakritikou, dělám si databazi jako svůj objekt a mám tento kod na zapis(stejný jako v tutorialu) a když slovíčko přídám je bez diakritiky např. (moře se mi napíše jako mo?e) áéíý funguje. Nevíte čím by to mohlo být?

 public void Zapis(String s1, String s2)
    {
        try (Connection spojeni = DriverManager.getConnection("jdbc:mysql://localhost/slovnicek_db?user=root&password=");
        PreparedStatement dotaz = spojeni.prepareStatement("INSERT INTO slovo (anglicky, cesky) VALUES (?, ?)");) {
        dotaz.setString(1, s1);
        dotaz.setString(2, s2);
            System.out.println(s1 + " " + s2);  //zkoušel jsem to vypsat do console, při vstupu chyba není..
        int radku = dotaz.executeUpdate();
        System.out.println(radku);
} catch (SQLException ex) {
        System.err.println("Do databáze se nepovedlo zapsat!" + ex);
}
    }
 
Odpovědět
12.11.2015 14:10
Avatar
santa580
Člen
Avatar
Odpovídá na santa580
santa580:14.11.2015 21:45

Ještě bych dodal že kodování mám v databázi nastavené na utf8_general_ci, fakt nikoho nenapadá čím by to mohlo být?

 
Odpovědět
14.11.2015 21:45
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.