我有一個基本的搜索頁面來搜索員工的技能。
搜索頁從多個表中搜索
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 | .....
所以我需要從技能中搜索技能並獲得精確的員工細節。
更新時間:
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不顯示數據..
據我所知,你有文本框,當你輸入數字值(如2,3 ...)時,搜索將根據Emp表中的一些ID帶走,當輸入「java」時應該從Emp_Skill_Bridge表搜索,是這樣嗎? – Mourya 2012-08-13 07:51:03
Ur足夠接近..用我的第一個代碼,我所能做的就是使用像(2,3 ..)這樣的數值進行搜索。但是我希望用戶輸入Java,asp.net等..我有隻有在文本框和一個btn_Search控制.. – Girish 2012-08-13 07:55:12