2013-05-31 5 views
8

Ricevo i dati da SQL e li inserisco nell'elenco. ecco quello che sto provando ora,Ottenere dati da SQL e inserire un elenco

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 
} 

e questo è come sto ottenendo i dati da 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(); 
} 

tabella assomiglia a questo,

soccorso, BID, nome

**

  • Problema

**

sono bloccato come aggiungere elementi da elencare e è anche migliori pratiche?

risposta

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

"aggiungere" non è disponibile signore – Mathematics

+3

Creare un elenco di frutti: –

-1

È necessario in realtà lettura dal lettore ed è quello che non stai facendo. Tuttavia, essere a conoscenza di DBNulls.

Quindi, supponendo che l'elenco personalizzato abbia una funzione aggiungi, è possibile eseguire le seguenti operazioni.

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

non possono utilizzare Fruitee.add in quanto non è una lista. –

+0

Ecco perché ho fatto la dichiarazione se l'elenco personalizzato ha una funzione di aggiunta. – dklingman

+0

Sì, ma la variabile fruitee è una classe che memorizza questi parametri. Anche se ha una funzione di aggiunta, dove la memorizzerà? Ha bisogno di avere una lista all'interno di quella classe per memorizzare quei parametri. –

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() }); 
} 
Problemi correlati