従業員のスキルを検索するための基本的な検索ページがあります。
dbo.Emp と dbo.Skill テーブルの間に「Dbo.Emp_skill_Bridge」というブリッジ テーブルがあります。
これは、ブリッジテーブルのみを検索できるようにするためにこれまで行ってきたことです。
例: このテーブルからのみ従業員の詳細を取得するには、「2」と入力する必要があります。「java」のように入力する Skill があり、Emp テーブルから従業員のリストを取得します。
dbo.Emp_Skill_Bridge
SkillID (FK) | EmpID (FK)
dbo.Skills
SkillName | SkillID(PK)
dbo.Emp
EmpID (PK) | Fname| LName | .....
したがって、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 にはデータが表示されません。