我有一个表单,其中我有一个带有两个值的ComboBox控件。
用户选择列表中的一个项目后,我需要显示与所选项目对应的数据表。
if (DropDownList1.SelectedValue == 1)
{
// open a SqlCommand
// read values
// fill table
}
else if (DropDownList1.SelectedValue == 2)
{
// etc
问题是我只想在用户做出选择后填写表。但是当加载表单时,ComboBox会自动选择第一个选项并运行我的代码,填写表格。
如何防止这种情况发生?
答案 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());