使用下拉列表条件插入数据

时间:2013-01-01 15:57:52

标签: c# asp.net drop-down-menu

我有asp.net项目,其中包含下拉列表。我需要根据下拉列表条件将数据插入我的数据库。

例如;在我的项目中,我将选择员工,我将从我的文本框中插入一些值,点击底部的按钮后,我需要将更改插入从我的下拉列表中选择员工的数据库中。

这是按钮点击代码;

protected void Button2_Click(object sender, EventArgs e)
{
    SqlConnection conn;
    SqlCommand cmd = new SqlCommand();
    string strSQL = "UPDATE info (empid,day1,day2,date1) Values (@empid,@day1,@day2,@date1)";
    string bag_str = WebConfigurationManager.ConnectionStrings["asgdb01ConnectionString"].ConnectionString;
    conn = new SqlConnection(bag_str);
    conn.Open();
    cmd.Connection = conn;
    cmd.CommandText = strSQL;
    cmd.Parameters.Add(new SqlParameter("@day1", Int32.Parse(DropDownList1.SelectedItem.Value)));
    cmd.Parameters.Add(new SqlParameter("@day1", Int32.Parse(TextBox1.Text)));
    cmd.Parameters.Add(new SqlParameter("@day2", Int32.Parse(TextBox2.Text)));
    cmd.Parameters.Add(new SqlParameter("@date1", CalendarExtender1.SelectedDate));
    int i = cmd.ExecuteNonQuery();
    conn.Close();
    if (i > 0)
        Response.Write("Data Inserted");
    else
        Response.Write("Try Again");

}

这是要明白你的想法;

| Dropdownlist1 | (我会点击这里,你知道名字会出现。)

-Mike

-John

-Susan

-Kevin

(label1)DAY1: _ __ _ __ (TEXTBOX1)

(label2)DAY2: _ __ _ __ (TEXTBOX2)

| FINISH | (按钮1)

从这里看,我将点击下拉列表,我将选择该员工。在我输入值之后,我将点击FINISH按钮,数据将被插入到所选员工中。

这是关键问题;我怎么能告诉button_click事件;您将这些数据插入到选定的员工表中,我从下拉列表中选择了该员工。好吗?

我试图在这里制作表格样本;

ID NAME TYPE MON TUE .... SUN TOTAL DAY1 DAY2 DATE


1迈克250 350 ..... 0 900 - - 2012年6月22日

2 john in 350 150 .... 100 1100 - - 28-06-2012

正如你从这里看到我的朋友,我将从我的datetimepickers中选择日期,我将从我的下拉列表中选择员工,然后我将值输入文本框,之后我将点击完成按钮。

必须将day1,day2值插入所选员工。

请等待你的回答,我需要它太糟糕了..

感谢。

用四只眼睛等待你的帮助。 感谢。

你明白我的意思是什么?感谢。

2 个答案:

答案 0 :(得分:1)

您可以通过获取下拉列表的选定值来将所选员工值插入数据库。

int empID = Convert.ToInt32(ddlEmployee.SelectedValue);
SqlConnection conn;
SqlCommand cmd = new SqlCommand();
string strSQL = "Insert INTO info (empid, day1,day2) Values (@empid, @day1,@day2)";
string bag_str = WebConfigurationManager.ConnectionStrings["asgdb01ConnectionString"].ConnectionString;
conn = new SqlConnection(bag_str);
conn.Open();
cmd.Connection = conn;
cmd.CommandText = strSQL;
cmd.Parameters.Add(new SqlParameter("@empid", empID));
cmd.Parameters.Add(new SqlParameter("@day1", TextBox1.Text));
cmd.Parameters.Add(new SqlParameter("@day2", TextBox2.Text));

int i = cmd.ExecuteNonQuery();
conn.Close();

答案 1 :(得分:0)

如果您未设置下拉列表SelectedValue,则应将其设置为员工的ID。

然后,修改您的函数以同时考虑下拉列表中的值:

protected void Button2_Click(object sender, EventArgs e)
{
    SqlConnection conn;
    SqlCommand cmd = new SqlCommand();
    string strSQL = "Insert INTO info (id, day1,day2) Values (@id, @day1,@day2)";
    string bag_str = WebConfigurationManager.ConnectionStrings["asgdb01ConnectionString"].ConnectionString;
    conn = new SqlConnection(bag_str);
    conn.Open();
    cmd.Connection = conn;
    cmd.CommandText = strSQL;
    cmd.Parameters.Add(new SqlParameter("@id", Int32.Parse(DropDownList1.SelectedValue)));
    cmd.Parameters.Add(new SqlParameter("@day1", TextBox1.Text));
    cmd.Parameters.Add(new SqlParameter("@day2", TextBox2.Text));

    int i = cmd.ExecuteNonQuery();
    conn.Close();
    ....
}

请注意,更改是使用DropdownList的SelectedValue属性来查找正确的Id