2013-05-31 8 views
8

Otrzymuję dane z SQL i umieszczam je na liście. oto co próbuję teraz,Uzyskiwanie danych z SQL i umieszczanie na liście

public class Fruit //custom list 
{ 
    public string aID { get;set; } // can be more then 1 
    public string bID { get;set; } // only 2 but different aID 
    public string name { get;set; } // only 1 for selection of aID and bID 
} 

iw ten sposób otrzymuję danych z SQL,

var Fruitee = new Fruit(); 

using (SqlConnection cn = new SqlConnection(CS())) 
{ 
     cn.Open(); 
     SqlCommand sqlCommand= new SqlCommand("SELECT * FROM myTable", cn); 
     SqlDataReader reader = sqlCommand.ExecuteReader(); 
     while (reader.Read()) 
     { 
      Fruitee.add(reader["aID"], reader["bID"],reader["name"]) // ??? not sure what to put here as add is not available 
     } 
     cn.Close(); 
} 

Tabela wygląda tak,

pomoc, Bid, nazwa

**

  • Problem

**

siedzę jak dodać elementy do listy i jest to również najlepsze praktyki?

Odpowiedz

15
List<Fruit> fruits = new List<Fruit>(); 

while (reader.Read()) 
{ 
    Fruit f = new Fruit(); 
    f.aID = (string) reader["aID"]; 
    f.bID = (string) reader["bID"]; 
    f.name = (string) reader["name"]; 
    fruits.Add(f); 
} 
+0

„dodać” nie jest dostępna sir – Mathematics

+3

Utwórz listę owoców: –

-1

Trzeba rzeczywiście czytać z czytnika i to, czego nie robią. Należy jednak pamiętać o DBNulls.

Zakładając, że Twoja niestandardowa lista ma funkcję dodaj, możesz zrobić coś takiego.

while(reader.Read()) 
{ 
    Fruitee.add(reader["aID"], reader["bID"], reader["name"]); 
} 
+0

nie można używać Fruitee.add jako że nie jest to lista. –

+0

Dlatego właśnie wydałem oświadczenie, jeśli lista niestandardowa ma funkcję dodawania. – dklingman

+0

Tak, ale zmienna fruitee to klasa przechowująca te parametry. Nawet jeśli ma funkcję dodawania, gdzie ją zapisze? Musi mieć listę wewnątrz tej klasy, aby przechowywać te parametry. –

3
var list = new List<Fruit>(); 

    while (reader.Read()) 
    { 
     list.Add(new Fruit() { aID = reader["aID"].ToString(), bID = reader["bID"].ToString(), name = reader["name"].ToString() }); 
    } 
1
var Fruitee = new List<Fruit>(); 

while (reader.Read()) 
{ 
    Fruitee.Add(new Fruit() { aID = reader["aID"].ToString(), bID = reader["bID"].ToString(), name = reader["name"].ToString() }); 
} 
Powiązane problemy