【发布时间】:2015-09-05 01:25:40
【问题描述】:
SQL Server 表:
Name Type1 Type2 Type3 Type4
-----------------------------------------------------
Lance X X X
John X X
Mike X X X
ASP.net:
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Auto Check" OnClick="Button1_Click" />
<asp:CheckBox ID="Type1" runat="server" /> Type1
<asp:CheckBox ID="Type2" runat="server" /> Type2
<asp:CheckBox ID="Type3" runat="server" /> Type3
<asp:CheckBox ID="Type4" runat="server" /> Type4
C#:
public void Button1_Click(object sender, EventArgs e)
{
string strQuery = @"SELECT * FROM [Db1].[dbo].[Table1] ";
strTxt = txtName.Text;
strQuery += " WHERE [Name] = '" + strTxt + "'";
using (SqlConnection sc = new SqlConnection(gloString))
{
try
{
sc.Open();
SqlCommand scd = new SqlCommand(strQuery);
scd.Connection = sc;
SqlDataReader sdr = new SqlDataReader();
sdr = scd.ExecuteReader();
while (sdr.Read())
{
//use a foreach by column and check them?
}
}
catch (SqlException)
{
}
finally
{
sc.Close();
}
}
}
我知道我可以使用 if 语句来选中带有 X 的相应列的任何框。
相反,我如何创建一个 foreach 或 for 语句,它采用列名并填充与列名对应的复选框 ID,所以我不必使用很多 if 语句.
所以,如果我输入 Lance 作为名称并提交,Type1、Type3 和 Type4 将被自动检查。
【问题讨论】:
-
您可以使用复选框列表。运行一个foreach,如果对应的值不为null,你可以在循环内检查它。
标签: c# sql asp.net sql-server