-4

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

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

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

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

我该如何防止这种情况发生?

4

2 回答 2

1

到目前为止你尝试了什么?

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

连接 SQL Server 并执行命令的起点一般类似于以下(如果你不使用 ORM 之类的实体框架):

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

    cmd.ExecuteNonQuery();
}

如果您需要有关如何将 EF(或简单的 DAL 技术)与 ASP.NET(MVC 或 Web 窗体)一起使用的更多想法,请在此处查看我的答案:https ://stackoverflow.com/a/7474357/559144

于 2012-08-06T08:09:06.637 回答
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());
于 2012-08-06T08:09:03.187 回答