NOVINKA: Začni v IT jako webmaster s komplexním akreditovaným online kurzem Tvůrce WWW stránek. Zjisti více:
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 5 - SqlDataReader a připojená databáze v C# .NET

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
Nejnovější komentáře jsou na konci poslední 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
Odpovídá 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.

Odpovědět
C++ & C#
Avatar
Maros2470
Člen
Avatar
Odpovídá 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
Odpovídá 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

Odpovědět
C++ & C#
Avatar
Maros2470
Člen
Avatar
Odpovídá 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
Odpovídá 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...

Odpovědět
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Maros2470
Člen
Avatar
Odpovídá 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
Odpovídá 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

Odpovědět
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá 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()
Editováno
Odpovědět
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
Odpovídá 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 ...

Nejnovější komentáře jsou na konci poslední stránky.
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 22.