2012-06-15 3 views
-2

Je suis en train de créer une requête SQL qui exécutera une procédure stockée. J'ai alors besoin que le résultat de cette requête apparaisse dans une liste à partir de laquelle un utilisateur peut sélectionner le résultat souhaité.populate listbox avec le résultat de la requête sql

S'il vous plaît quelqu'un pourrait me montrer comment construire la requête SQL à partir de zéro, puis montrez-moi comment obtenir ce résultat dans une liste?

Merci d'avance!

+1

Je pense que vous pouvez séparer vos tâches dans plusieurs petites tâches, et la recherche de chacun d'eux comment le faire. Votre tâche est assez commune et vous aurez tous les éléments pour le faire en cherchant juste un peu. – Otiel

Répondre

9

http://www.dotnetperls.com/sqldataadapter

using System.Data; 
using System.Data.SqlClient; 
using System.Windows.Forms; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
      FillData(); 
     } 

     void FillData() 
     { 
      var connString = ConfigurationManager 
       .ConnectionStrings[name].ConnectionString; 

      using (SqlConnection c = new SqlConnection(connString)) 
      { 
       c.Open(); 

       // use a SqlAdapter to execute the query 
       using (SqlDataAdapter a = new SqlDataAdapter("SELECT * FROM EmployeeIDs", c)) 
       {    
        // fill a data table 
        var t = new DataTable(); 
        a.Fill(t); 

        // Bind the table to the list box 
        listBox1.DisplayMember = "NameOfColumnToBeDisplayed"; 
        listBox1.ValueMember = "NameOfColumnToUseValueFrom"; 
        listBox1.DataSource = t; 
       } 
      } 
     } 
    }   
} 
+0

Cela devrait être un commentaire – Steve

+0

Il répond directement à la question avec un exemple. – Chris

+2

Je ne suis pas d'accord, [Voir cette FAQ] (http://stackoverflow.com/faq#deletion) '• à peine plus qu'un lien vers un site externe' – Steve

1

est ici l'idée générale ...

ListBox lb = new ListBox(); 
string connectionString = "your connection string here"; 
using (SqlConnection con = new SqlConnection(connectionString)) 
{ 
    con.Open(); 
    string query = "SELECT column FROM myitemstable"; 
    using (SqlCommand cmd = new SqlCommand(query, con)) 
    { 
     using (SqlDataReader reader = cmd.ExecuteReader()) 
     { 
      while (reader.Read()) { 
       lb.Items.Add(new ListItem((string)reader["column"])); 
      } 
     } 
    } 
} 
+0

J'essaye d'implémenter cette solution mais obtenir l'erreur sur la ligne lb indiquant que listitem est introuvable. – meeeeeeeeee

Questions connexes