Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C# Combobox ja tietokanta

NixDu [10.05.2007 15:43:03]

#

EN löytänyt tähän minkäänlaista neuvoa...

Eli mulla on tietokanta johon luen nimen, puhelin, osoitteet. Ja sit tulostan pelkät nimet comboboxiin jossa sitten valitsen kenen henkilön tiedot tulee esille.

Ongelma: Saan luettua noi kannantiedot comboboxiin tai siis pelkän nimen, mutta en saa sit tulostuksessa luettua kuin sen valitun nimen textboxiin. Ja nyt pitäis saada jonninlainen lause millä saan luettua puhelimen ja osoitteet kans textboxiin...

private void Puhelinmuistio_Load(object sender, EventArgs e)
{
    kantaDataSet2 setti = new kantaDataSet2();
    kantaDataSet2TableAdapters.TiedotTableAdapter ttad = new kantaDataSet2TableAdapters.TiedotTableAdapter();

    ttad.Fill(setti.Tiedot);

    //Tässä aletaan kirjoittamaan listboxiin nimet kannasta...

    foreach (DataTable table in setti.Tables)
    {
        //Alustetaan i muuttuja 0, aina kun aukastaan lisays formi...
        int i = 0;

        foreach (DataRow row in table.Rows)
        {
            //Luetaan Comboboxiin kaikki nimet kannasta...
            string teksti = row.ToString();
            //listBox1.Items.Add(setti.Tables["Tiedot"].Rows[i]["Nimi"].ToString());
            comboBox1.Items.Add(setti.Tables["Tiedot"].Rows[i]["Nimi"].ToString());
            i++;
        }
    }

}

private void Hae_Click(object sender, EventArgs e)
{
    kantaDataSet2 setti = new kantaDataSet2();
    kantaDataSet2TableAdapters.TiedotTableAdapter ttad = new kantaDataSet2TableAdapters.TiedotTableAdapter();

    ttad.Fill(setti.Tiedot);

    nimi_hae.Text = comboBox1.SelectedItem.ToString();
    //string puhnro = setti.Tables["Tiedot"].Select("Nimi where 'nimi_hae.text'", "Puhnro");
    puhnro_hae.Text = puhnro;

Joo ratkasin sen jo... Tein vähän raskaamman version, eli tarkistan tietokannasta mikä rivi vastaa mun valitsemaan nimeen ja tulostan sen rivin tiedot...

anttipanda [11.05.2007 13:13:03]

#

No jos sulla on datasetissä luettuna valmiiksi tiedot, niin miksi et vain käytä

setti.Tables["Tiedot"].Rows[i]["Puhnro"].ToString()

yms kutsua hakeaksesi numeron ym tiedot? Samalla lailla tiedot on datasetissä kuin nimikin.

Ja tuossa foreach-loopissa voinet tehdä seuraavasti (ei siis tarvi tuota i-muuttujaa...):

            foreach (DataRow row in table.Rows)
            {
                string nimi = row["Nimi"].ToString();
                string puhnro = row["Puhnro"].ToString();
                //etc...
            }

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta