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 – 5. diel - SqlDataReader a pripojená databáza v C# .NET

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
Maros2470
Člen
Avatar
Maros2470:22.4.2014 19:33

Zkoušel jsem výpis tabulky ve Form. Napsal jsem to takto, ale vypíše mi pouze poslední řádek tabulky. Kde mám chybu?

private void button2_Click(ob­ject sender, EventArgs e)
{

string connectionString = @"Data Source=PCMAREK\E­li;Initial Catalog=Eli-elektro;Integrated Security=True";
using (SqlConnection pripojeni = new SqlConnection(con­nectionString))
{
pripojeni.Open();

SqlCommand prikaz = new SqlCommand("SELECT ID, Banka, Kod FROM Banky", pripojeni);

SqlDataReader dataReader = prikaz.Execute­Reader();
while (dataReader.Read())
{
richTextBox1.Text = dataReader["ID"]­.ToString() + " " + dataReader["Ban­ka"].ToString() + " " + dataReader["Kod"]­.ToString();
comboBox1.Text = dataReader["Kod"]­.ToString();
comboBox2.Text = dataReader ["Banka"].ToS­tring();
}
}

}

Avatar
parallave
Tvůrce
Avatar
Odpovedá na Maros2470
parallave:23.4.2014 16:56

Za richTextBox1.Text atd. máš "=", místo "+=", takže ti každá iterace přemaže předchozí text.

Odpovedať
C++ & C#
Avatar
Maros2470
Člen
Avatar
Odpovedá na parallave
Maros2470:24.4.2014 9:48

Teď to vypíše všechny položky, ale neodřádkuje. Píše to vše za sebou.

Avatar
parallave
Tvůrce
Avatar
Odpovedá na Maros2470
parallave:24.4.2014 15:28

Ještě přidej na konec řetězce znak "\n", znamená to další řádek. viz http://msdn.microsoft.com/…21280bw.aspx

Odpovedať
C++ & C#
Avatar
Maros2470
Člen
Avatar
Odpovedá na parallave
Maros2470:24.4.2014 17:25

Díky za radu. Jen ještě jeden dotaz, jak to udělat s Combobox, tam se mi to také řadí za sebou? Díky za odpověď.

Avatar
Odpovedá na Maros2470
Michal Štěpánek:24.4.2014 17:30

Combobox musíš plnit buď jako Add items, nebo mu musíš dát jako zdroj dat výsledek toho SQL dotazu...

Odpovedať
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Maros2470
Člen
Avatar
Odpovedá na Michal Štěpánek
Maros2470:24.4.2014 17:41

Asi jsem blbej, ale nechápu ten výsledek SQL dotazu, já myslel, že ho tam mám.
comboBox2.Text = dataReader ["Banka"].ToS­tring();, nebo ne?

Avatar
Odpovedá na Maros2470
Michal Štěpánek:24.4.2014 17:57

ale combobox používá vlastnosti value a item a NE Text, následně se pak odkazuješ na SelectedItem, SelectedValue nebo SelectedIndex

Odpovedať
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovedá na Maros2470
Michal Štěpánek:24.4.2014 18:02

Nevím jak to udělat v C#, ale ve VB.NET je to např. takto

//Naplnění Comboboxu CB_Zakazky - název firma a město
        Dim dt As DataTable = New DataTable     //tabulka s daty v paměti
        oledbcon.Open() //připojovací řetězec
        Dim strSql As OleDbCommand
        strSql = New OleDbCommand("SELECT Id, CisloZakazky + ' - ' + NazevZakazky AS Zakazka FROM TabulkaZakazky", oledbcon)
        Dim ada As New OleDbDataAdapter(strSql)
        ada.Fill(dt)

        With Me.CB_Zakazky
            .DataSource = dt
            .DisplayMember = "Zakazka"
            .ValueMember = "Id"
        End With
        oledbcon.Close()
Editované
Odpovedať
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
JOF
Tvůrce
Avatar
Odpovedá na Maros2470
JOF:24.4.2014 22:45

Jak píše čočkin - u comboboxu nepoužívej vlastnost Text, ale Items apod.
Např. comboBox1.Item­s.Add(dataRea­der["Kod"].ToS­tring());
(Jinak vřele doporučuji komponenty pořádně pojmenovávat a nenechávat jméno comboBox1, comboBox2 atd.)

Co se týká připojení comboboxu na nějaký datový zdroj, tak to je možné u odpojeného přístupu ...

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 22.