我有一个基本的搜索页面来搜索员工的技能。
在 dbo.Emp 和 dbo.Skill 表之间有一个桥接表,称为“Dbo.Emp_skill_Bridge”。
这是我到目前为止所做的,只允许搜索桥接表。
示例:我需要输入“2”来获取员工的详细信息,并且只能从此表中获取。我有技能可以像“java”一样输入并从 Emp 表中获取员工列表。
dbo.Emp_Skill_Bridge
SkillID (FK) | EmpID (FK)
dbo.Skills
SkillName | SkillID(PK)
dbo.Emp
EmpID (PK) | Fname| LName | .....
所以我需要从 Skills 中搜索 Skills 并获得准确的员工详细信息。
更新:
protected void Button1_Click(object sender, EventArgs e)
{
String var2 = System.Configuration.ConfigurationManager.ConnectionStrings["KKSTechConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(var2);
//SqlCommand cmd = new SqlCommand("select * from Emp_Skill_Bridge where SkillID like '%" + TextBox1.Text + "%' ", con);
SqlCommand cmd = new SqlCommand("SELECT * FROM Emp_Skill_Bridge ESB INNER JOIN Emp E ON E.EmpId = ESB.EmpId INNER JOIN Skills S ON S.SkillID = ESB.SkillID WHERE ESB.SkillID LIKE '%" + TextBox1.Text + "%' OR ESB.SkillID LIKE '%" + TextBox1.Text + "%'", con);
//string val = TextBox1.Text.ToString();
con.Open();
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "Emp");
GridView1.DataSourceID = null;
GridView1.DataSource = ds;
GridView1.DataBind();
con.Close();
}
代码正在工作,但不是 GridView 没有显示数据..