DataSet i co dalej?

0

Witam serdecznie

Mam następujący problem (piszę w C# przy wyorzystaniu Microsoft Visual 2010 Express). Mam aplikację okienkową. Połączyłem się z bazą danych .sdf. Pobrałem dane z tabeli do DataSet. powinno tam być 20 elementów. To jest problem nie wiem jak pobrać poszczególne elementy z DataSet żeby w każdej z 20 label był tekst (string) z poszczególnych wierszy tabeli...

Z góry dziękuję za pomoc
Pozdrawiam

0

DataSet to zbiór m.in. tabel. Właściwość Tables udostępnia obiekt kolekcji tabel typu DataTable. Tabela to zbiór wierszy - Rows. Każdy DataRow to zbiór pól, które zdefiniowne są na poziomie tabeli jako kolumny. Row ma indeksery różne, po indeksie pola, po kolumnie DataColumn, po nazwie pola, ...
Więcej prawdy MSDN ci powie.
http://msdn.microsoft.com/en-us/library/7f2d84ta.aspx

0

Dzięki za podpowiedź,

Przestudiowałem materiały i ja początkujący chyba znam alfabet. Chciałbym przejść do sładania wyrazów...

mam coś takiego:

połączenie z bazą...

 
SqlCeDataAdapter xxx = new DataCeAdapter("SELECT...");

DataSet dsxxx = new DataSet();
dsxxx.Tables.Add("nnn");
xxx.Fill(dsxxx, "nnn");

foreach (DataRow row_xxx in dsxxx.Tables[0].Rows)
{
label_xxx_01.Text = row_xxx[0].ToString(); //to jeszcze działa
label_xxx_02.Text = // to nie wiem co mam wsatawić
}

Tp pewnie proste, a dla mnie nie do przeskoczenia.

Z góry dziękuję za odpowiedź, a przede wszystkim za fragment kodu, który zadziała.

Pozdrawiam

0

Ty chcesz dane z każdego wiersza do innej labelki wrzucać.
Możesz tak:

for (int i=0;i<dsxxx.Tables[0].Rows.Count; i++)
{
  Control c = this.FindControl(string.Format("label_xxx_{0:00}", i));
  if (c!=null) c.Text = dsxxx.Tables[0].Rows[i][0].ToString(); // oczywiście jak będziesz miał tu null to się sypnie :)
}

innych sposobów nie chce mi się pisać
Zamiast FindControl, labelki możesz mieć na liście i iterować się także po liście kontrolek, będzie wydajniej, niż użyć FindControl.

1 użytkowników online, w tym zalogowanych: 0, gości: 1