2012-06-15 4 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

Я не согласен, [см. Этот FAQ] (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

Смежные вопросы