2012-06-15 81 views
-2

我想構建一個將運行存儲過程的sql查詢。然後我需要此查詢的結果出現在用戶可以從中選擇所需結果的列表框中。用sql查詢結果填充列表框

請問有人可以告訴我如何從頭開始構建SQL查詢,然後告訴我如何將這個結果放入一個列表框中?

在此先感謝!

+1

我認爲你可以在多個小任務分解了任務,並尋找他們每個人如何做到這一點。你的任務很常見,你可以通過搜索一下就可以完成任務。 – Otiel

回答

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

這應該是一個評論 – Steve

+0

它直接用一個例子來回答這個問題。 – Chris

+2

我不同意,[見這個常見問題](http://stackoverflow.com/faq#deletion)'•僅僅是一個鏈接到一個外部網站' – Steve

1

這裏的總體思路...

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

我試圖實現這個解決方案,但是在lb.行上發現錯誤,說listitem找不到。 – meeeeeeeeee

相關問題