2016-01-01 3 views
0

у меня есть 2 таблицы в моей базе данных:ASP.NET - выпадающий список

Employee (ID , NAME , SALARY , departmentNo) 

ID является первичным ключом и внешний ключ departmentNo от Department.ID

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

Смежные вопросы