Wpis z mikrobloga

Mirki orientujące się w #csharp i #postgres

Potrzebuję wyciągnąć do tablicy stringów wszystkie wiersze z jednej kolumny z tabeli. Wszystko pięknie jest w NpgsqlDataReader (pobrało wszystkie wartości) ale mam problem z iterowaniem po wartościach obiektu. Mój kod:

while (dr.Read())
{
for (int i = 0;i<a;i++)
{
badania[i] = dr[0].ToString();
}
}

I tak: obiekt dr zawiera wszystkie rekordy, które mi są potrzebne a tablica badania domyślnie ma przyjmować te wartości. Zmienna a jest ilością wierszy. Do tego momentu wszystko mi działa ale wynikowa tablica zawiera we wszystkich miejscach tylko pierwszą wartość z kolumny, która mnie interesuje. W nawiasie kwadratowym musi pozostać 0 bo to jest numer kolumny a mam tylko jedną. Więcej parametrów nie da się wsadzić. Ktoś się orientuje jak iterować po dalszych wartościach?
  • 5
  • Odpowiedz
@blisher: No właśnie to musi tak zostać. Jeśli zamiast 0 wsadzę na przykład i to program spróbuje przeskoczyć do kolejnej kolumny, a kolejnej kolumny nie ma czyli Out of range error :/
  • Odpowiedz
@giluu91: Tutaj właściwie chyba nie potrzebujesz zmiennej "a", jeżeli "dr.Read()" leci po wszystkich wierszach, aż zwróci fałsz.
Powinno działać też to:

int i = 0;
while (dr.Read()) { badania[i++] = dr[0].ToString(); }
  • Odpowiedz