使用sql查询结果填充列表框

时间:2012-06-15 08:51:14

标签: c# sql

我正在尝试构建一个运行存储过程的SQL查询。然后,我需要将此查询的结果显示在列表框中,用户可以从中选择所需的结果。

请有人告诉我如何从头开始构建SQL查询,然后告诉我如何将这个结果放到列表框中?

提前致谢!

2 个答案:

答案 0 :(得分:10)

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;
                }
            }
        }
    }        
}

答案 1 :(得分: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"]));
            }
        }
    }
}