2016-01-01 185 views
0

我在我的數據庫表2:ASP.NET - 下拉列表

Employee (ID , NAME , SALARY , departmentNo) 

ID爲Department.ID主鍵和departmentNo外鍵

Department (ID , Name , Location) 

ID是主鍵

所以我想下拉列表顯示在部門的表格名稱上,當用戶按下「添加」按鈕時,它應該在表格上保存departmentNo。

回答

-1

這是您的問題的解決方案。我已經使用了一些額外的變量來檢查值是否到來,您可以根據需要替換它們。

db_connection(); 
     string id=null; 
     string h = comboBox1.SelectedValue.ToString(); 
     string select = "select ID from Department where Name='" + h + "'"; 
     SqlCommand cmd=new SqlCommand(select,Cn); 
     SqlDataReader dr = cmd.ExecuteReader(); 
     while (dr.Read()) 
     { 
      id = dr[0].ToString(); 
     } 
     dr.Close(); 
     select = "insert into Employee (NAME,SALARY,departmentNo)values(@NAME,@SALARY,@departmentNo)"; 
     SqlCommand cmd1 = new SqlCommand(select, Cn); 
     cmd1.Parameters.AddWithValue("@NAME", textBox1.Text); 
     cmd1.Parameters.AddWithValue("@SALARY", textBox2.Text); 
     cmd1.Parameters.AddWithValue("@departmentNo", id); 
     cmd1.ExecuteNonQuery(); 
+0

你似乎忘記了問題所在的位「我想使窗體上顯示的下拉列表」。另外,第一個查詢隨機應用時不會使用參數,因此容易受到SQL注入攻擊。也不清楚爲什麼這第一個查詢甚至接受一個參數 - 第一個目標是讓所有部門的下拉列表 – ADyson

+0

@ADyson我不明白一件事,如果有人知道這個問題的更好答案,那麼他們應該提供問題的答案而不是提供這樣的建議和意見。 –

+0

或者你可以使用這個建議來改善你的答案並獲得更多的讚揚。就我個人而言,我已經投票決定將問題過於寬泛,因爲它要求很多,所以我沒有自己回答。但是我回顧了我近期的一些事情,並且自你回答以後,答案可以改善,我想我會提出一個建議。如果你不想改善答案,那就是如果你選擇的話。 – ADyson