Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 3. diel - Databázy v Java JDBC - Výpis dát a parametre

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
milos
Nevyplnené
Avatar
milos:3.1.2014 16:57

ahoj, super, je vidět, že tě publikování baví.

Chtělo by jen připomenout, že reálná aplikace nevytváří spojení pro každý dotaz extra, ale uschová si ho, koneckonců i často používané PreparedStatement-s.
fandím, ahoj

Avatar
Silvinios
Tvůrce
Avatar
Silvinios:3.1.2014 19:14

Pěkný článek.

Ještě bych dodal, že jméno a heslo se při vytváření spojení nemusí zadávat do do url, pokud se použije metoda DriverManager­.getConnection(Strin­g, String, String):

DriverManager.getConnection("jdbc:mysql://localhost/slovnicek_db", "root", "");
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na
David Hartinger:9.1.2014 18:55

Tutoriál byl myšlený hlavně jako příprava pro webovou Javu, kde se spojení opravdu vždy otevírá a zavírá, server si to potom řídí v poolu.

Odpovedať
New kid back on the block with a R.I.P
Avatar
firuz.gaffar
Člen
Avatar
firuz.gaffar:2.5.2014 9:37

pekny clanek,
ale me to nefunguje, vychazuje vyjimku "Chyba při komunikaci s databází". v cem muze byt problem?

Avatar
firuz.gaffar
Člen
Avatar
Odpovedá na firuz.gaffar
firuz.gaffar:2.5.2014 9:45

uz jsem to vyresil, diky

Avatar
vrciak1
Člen
Avatar
vrciak1:13.5.2014 14:56

Mam problem pri preklade. Vypisuje sa mi chybova hlaska

Sql Exception: No suitable driver found for jdbc:sqlserver://localhost:1433;databaseName=slovnicek;user=sa;password=123;

Moj kod:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class Skuska2 {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("Zadaj slovicko, ktore chces prelozit: ");
        String slovicko = sc.nextLine();

        try ( Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;"
                    + "databaseName=slovnicek;user=sa;password=123;");
                PreparedStatement dotaz = con.prepareStatement("SELECT cesky "
                        + "FROM slovo WHERE anglicky");){
            dotaz.setString(1, slovicko);
            try (ResultSet vysledok = dotaz.executeQuery()){
                vysledok.next();
                String cesky = vysledok.getString("cesky");
                System.out.println("Preklad: " + slovicko + ": " + cesky);
            }
        } catch (SQLException sqle){
            System.out.println("Sql Exception: " + sqle.getMessage());
        }
    }

}

Kde mam chybu?

Editované
Avatar
vrciak1
Člen
Avatar
Odpovedá na vrciak1
vrciak1:13.5.2014 15:02

Podotykam, ze som to skusal aj s otaznikom. Mozno je to preto, lebo databazu mam vytvorenu v sql serveri a je tam iny dotaz ako v mysql, ale malo by to byt rovnake.

Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na vrciak1
David Hartinger:13.5.2014 21:00

Tak zaprvé si přečti tu chybovou hlášku. Dost jasně ti říká, že nemá driver pro databázi sqlserver. Taková databáze totiž není. Zadruhé si přečti tu část článku, kde se připojuje k databázi, protože máš ten řetězec špatně.

EDIT: Koukám, že sqlserver označuje databázi MS SQL Server, potom si stahni příslušný ovladač ze stránek výrobce.

Editované
Odpovedať
New kid back on the block with a R.I.P
Avatar
vrciak1
Člen
Avatar
Odpovedá na David Hartinger
vrciak1:14.5.2014 13:43

Vdaka. Uz som to rozbehal. Zabudol som nakopirovat jdbc do kniznice.

Avatar
Neaktivní uživatel:25.6.2014 8:40

Ahoj Davide,
mám otázku na hlubší fungování těhle příkazů, jak přesně se to za sebou chronologicky spouští? K zabezpečené verzi:
zeptá se mne na slovo, nascanuje, uloží do anglicky, v bloku try se pokusí připojit k databázi to teda dělá hned jak je to napsaný, a teď nerozumím jedné věci, ono to už teď volá "dotaz"? protože jestli jo k čemu by to bylo když ho až o řádek níže měníme...vyvozuju že ještě "dotaz" nezavolá...tipl bych, že všechno se to spouští až v druhém bloku try ale nevím přesně jak a hlavně mě nedává smysl jak přinutíš javu aby vlezla zrovna na tu správnou pozici ...myslel jsem že metodu .next() můžeš volat jen v cyklu...kdybys mi to osvětlil byl bych vděčnej.

Odpovedať
Neaktivní uživatelský účet
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 31.