2010-11-30 15 views
1

J'ai une requête qui sélectionne 3 colonnes à partir d'une table SQL, j'ai besoin d'exporter la requête résultante dans un listview. Je n'ai pas besoin d'aide avec la configuration SQL, juste comment le formater dans la liste. Il y a où je suis coincé. Toute aide est appréciée. Merci!Exportation SQL vers ListView en utilisant C#

string sql = "select distinct pro,ds,date from dbo.Sge where date IN (select max(date) from dbo.Storage) order by project"; 
SqlConnection con = new SqlConnection("Data Source= ;Initial Catalog= ;Integrated Security= SSPI"); 
con.Open(); 
DataSet ds = new DataSet(); 
SqlDataAdapter adapter = new SqlDataAdapter(sql,con); 
adapter.Fill(ds); 
foreach (DataRow row in ds.Tables[0].Rows) 
{ 
    for(int i=0; i< ds.Tables[0].Columns.Count; i++)) 
} 

Edit: Désolé les gars, je l'ai mentionné ListBox à l'origine et que je voulais dire ListView. Ma ListView est détaillée et a une colonne pour chacune de mes colonnes dans mon select, j'ai juste besoin de l'export SQL pour aller dans la colonne de droite.

C'est ce que je suis venu avec, mais il ne contribue pas à chaque colonne, juste pour la première colonne

foreach (DataRow row in poplb6ds.Tables[0].Rows) 
{ 
    listView1.Items.Add(row["Pro"].ToString()); 
    listView1.Items.Add(row["size"].ToString()); 
    listView1.Items.Add(row["Date"].ToString()); 
} 
+0

Je comprends que je dois sous-éléments, mais pas sûr de savoir comment reconstituer ensemble. –

+0

'System.Windows.Forms.FormsListView' ou' System.Web.UI.WebControls.ListView'? WinForms ou ASP.NET? – abatishchev

Répondre

2

foreach (DataRow row in poplb6ds.Tables[0].Rows) { 
    ListViewItem item = new ListViewItem(row["Pro"].ToString()); 
    item.SubItems.Add(row["size"].ToString()); 
    item.SubItems.Add(row["Date"].ToString()); 
    listView1.Items.Add(item); 
} 
0

La solution standaard serait: listbox1.DataSource = poplb6ds; Si vous avez besoin de mise en forme spécifique, s'il vous plaît élaborer sur cela. Les éléments suivants supposent que votre ListView a des colonnes dans l'ordre | Pro | Taille | Date |

+0

J'ai une vue détaillée dans laquelle chaque besoin d'aller dans la liste appropriée pour ma listview, et je m'excuse, j'utilise listview –

0
  1. Utilisation using blocs:

    using (SqlConnection con = new SqlConnection("Data Source=;Initial Catalog= ;Integrated Security= SSPI")) 
    { 
        con.Open(); 
        using (DataSet ds = new DataSet()) 
        { 
         using (SqlDataAdapter adapter = new SqlDataAdapter(sql, con)) 
         { 
          adapter.Fill(ds); 
         }  
        } 
    } 
    
  2. Remplir une seule table:

    DataTable dt = new DataTable(); // new DataTable("Sge"); name it if will be required 
    adapter.Fill(dt); 
    
  3. Votre boucle a n'a pas de sens car les colonnes sont les mêmes pour chaque ligne de la table:

    foreach (DataColumn column in dt.Columns) 
    { 
    } 
    
  4. Ou vous voulez itérer à travers chaque ligne et chaque colonne?

    foreach (DataColumn column in dt.Columns) 
    { 
        foreach (DataRow row in dt) 
        { 
         object value = row[column]; 
        } 
    }