我的数据库有员工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();
}
但它不起作用
答案 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();
}