我的 asp 网页上有一个复选框列表,其中列出了项目所需的一些技能。我想要做的是从这个复选框列表中检查多个项目,然后创建一个搜索功能来列出所有具有相关技能的用户。我可以让它工作,但不是显示所有用户,而是只显示一个用户。
例如,如果我从复选框列表中选中“计划”和“设计”,它应该列出用户“Peter”和“Vicki”,因为他们具有所需的技能,但我的代码只显示 Peter。我的代码如下:
StringBuilder sb2 = new StringBuilder();
foreach (ListItem item in chkGeneralSkills.Items)
{
if (item.Selected)
{
sb2.AppendFormat("{0} ", item.Text);
using (SqlConnection oConn = new SqlConnection(ConfigurationManager.ConnectionStrings["connString"].ToString()))
{
string sql = "SELECT us.FName + ' ' + us.SName As 'Name', " +
"sk.SkillsID, sl.SkillTitle " +
"FROM Users us " +
"LEFT JOIN Skills sk ON sk.UserID = us.UserID " +
"LEFT JOIN SkillsListing sl ON sl.SkillsListingID = sk.SkillsListingID " +
"WHERE sl.SkillTitle LIKE '" + item.Text + "'";
try
{
oConn.Open();
SqlCommand cmd = new SqlCommand(sql, oConn);
SqlDataReader reader = cmd.ExecuteReader();
chkMatchedUsers.DataTextField = "Name";
chkMatchedUsers.DataValueField = "Name";
chkMatchedUsers.DataSource = reader;
chkMatchedUsers.DataBind();
oConn.Close();
}
catch (Exception)
{
throw;
}
}
}
}