2016-08-22 9 views
1

このコードが動作していないのはなぜ私は、テキストボックスのテーブルと主要から学生IDと生徒の名前を挿入しようと、コースは、ドロップダウンリストから挿入値

int sID = Convert.ToInt32(TextBox1.Text); 
string Name = TextBox2.Text; 
var mjr = DropDownList1.SelectedItem.Value; 
var crs = DropDownList2.SelectedItem.Text; 

string registered = "insert into Registered (Student_name, StudentID, Major, Course) values(@sName ,@SID, @major , @course)"; 

while (reader.Read()) 
{ 
    ints.Add(reader.GetInt32(0)); 

    if (a.Count() <= ints.Count() && !a.Except(ints).Any()) 
    { 
     SqlCommand com4 = new SqlCommand(registered, con); 

     com4.Parameters.AddWithValue("sName", Name); 
     com4.Parameters.AddWithValue("SID", sID); 
     com4.Parameters.AddWithValue("major", mjr); 
     com4.Parameters.AddWithValue("course", crs); 
     com4.ExecuteNonQuery(); 
+0

エラーを投稿してください。 –

答えて

1

あなたは"@"にスカラー属性名を付ける必要があります

com4.Parameters.AddWithValue("@sName", Name); 
com4.Parameters.AddWithValue("@SID", sID); 
com4.Parameters.AddWithValue("@major", mjr); 
com4.Parameters.AddWithValue("@course", crs); 
com4.ExecuteNonQuery(); 
+1

['AddWithValue'を使用しないでください](http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/) – DavidG

+0

私は何も示唆していませんここでは、上記のコードを修正するだけです。 :) –

+1

それから、それを正しく行う方法を提案してください! – DavidG