根据所选的下拉列值将值插入表中

时间:2012-08-06 08:03:06

标签: c# asp.net

我有一个表单,其中我有一个带有两个值的ComboBox控件。

用户选择列表中的一个项目后,我需要显示与所选项目对应的数据表。

if (DropDownList1.SelectedValue == 1) 
{ 
    // open a SqlCommand
    // read values 
    // fill table
}
else if (DropDownList1.SelectedValue == 2)     
{ 
     // etc

问题是我只想在用户做出选择后填写表。但是当加载表单时,ComboBox会自动选择第一个选项并运行我的代码,填写表格。

如何防止这种情况发生?

2 个答案:

答案 0 :(得分:1)

到目前为止你做了什么?

表名来自DropDown是没有问题的,它更多的是为您的应用程序理解和设计数据访问层。你在WebForm中有一个保存按钮,你是在后面的代码中动态编写SQL代码还是使用存储过程?

连接到SQL Server并执行命令的起点通常类似于以下内容(如果您不使用ORM,如Entity Framework):

using (varconn = new SqlConnection(connectionString)) 
using (var cmd = conn.CreateCommand(...)))
{ 
    conn.Open();

    cmd.ExecuteNonQuery();
}

如果您需要有关如何在ASP.NET(MVC或Web窗体)中使用EF(或简称DAL技术)的更多想法,请参阅我的答案:https://stackoverflow.com/a/7474357/559144

答案 1 :(得分:0)

        DataSet ds = new DataSet();
        ds.Tables.Add(new DataTable("DataTableNo1"));
        ds.Tables.Add(new DataTable("DataTableNo2"));

        string dtname = comboBox1.Text;
        ds.Tables[dtname].Rows.Add(new DataRow());