通过从DropDownList中选择employee_id来获取员工信息

时间:2015-06-28 19:32:49

标签: c# asp.net sql-server

我的数据库有员工ID,姓名,电子邮件,地址和phoneno。我使用了一个下拉列表来选择员工ID,为此我编写了这段代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;

public partial class Employeedetails : System.Web.UI.Page
{
    SqlConnection con = new SqlConnection("Data Source=REVATI-PC;Initial Catalog=Test_Database;Integrated Security=True");
    SqlCommand cmd;
    SqlDataAdapter da;
    string query;

    protected void Page_Load(object sender, EventArgs e)
    {
        con.Open();
        query = "select Employee_ID from Employee";
        cmd = new SqlCommand(query, con);

        SqlDataReader dr = cmd.ExecuteReader();

        while (dr.Read())
        {
            DropDownList1.Items.Add(dr[0].ToString());
        }

        con.Close();

但是通过点击这些特定的ID,我没有得到其他信息。为此,我使用了SelectIndexchanged事件并编写了一个选择查询

 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
 {
        string query = "select Employee_ID from Employee where Employee_ID='" + DropDownList1.SelectedValue.ToString() + "'";
        con.Open(); 
}

但它不起作用

2 个答案:

答案 0 :(得分:0)

试试这个

    string empname="";
    string query = "select * from Employee where Employee_ID=@value1";
    cmd = new SqlCommand(query, con);
    cmd.Parameters.AddWithValue("@value1",DropDownList1.SelectedValue.ToString());
    con.Open();
    SqlDataReader dr = cmd.ExecuteReader();
     while (dr.Read())
    {
        empname=dr["Employee_Name"].ToString();
    // and so on
    }
    con.Close();

答案 1 :(得分:0)

你看到的问题是双重的。您在查询期间仅选择员工ID,而不是任何其他信息,如果您发布的功能已完成,则您似乎没有运行查询。要选择其他信息,请选择*(如下所示),或选择特定列名称并按列名从阅读器中读出

尝试将selectedIndexChanged函数更新为:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    string query = "select * from Employee where Employee_ID='" + DropDownList1.SelectedValue.ToString() + "'";

    conn.Open();

    cmd = new SqlCommand(query, con);

    SqlDataReader dr = cmd.ExecuteReader();

    while (dr.Read())
    {
        DropDownList1.Items.Add(dr["<column_name>"].ToString());
    }

    con.Close();
}