NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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 3 - Databáze v Java JDBC - Výpis dat a parametry

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
milos
Neregistrovaný
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

 
Odpovědět
3.1.2014 16:57
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", "");
 
Odpovědět
3.1.2014 19:14
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá 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.

Odpovědět
9.1.2014 18:55
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?

 
Odpovědět
2.5.2014 9:37
Avatar
firuz.gaffar
Člen
Avatar
Odpovídá na firuz.gaffar
firuz.gaffar:2.5.2014 9:45

uz jsem to vyresil, diky

 
Odpovědět
2.5.2014 9:45
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?

Editováno 13.5.2014 14:58
 
Odpovědět
13.5.2014 14:56
Avatar
vrciak1
Člen
Avatar
Odpovídá 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.

 
Odpovědět
13.5.2014 15:02
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá 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.

Editováno 13.5.2014 21:28
Odpovědět
13.5.2014 21:00
New kid back on the block with a R.I.P
Avatar
vrciak1
Člen
Avatar
Odpovídá na David Hartinger
vrciak1:14.5.2014 13:43

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

 
Odpovědět
14.5.2014 13:43
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.

Odpovědět
25.6.2014 8:40
Neaktivní uživatelský účet
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 31.