2016-10-25 255 views
2

データベースからデータを読み込むコンボボックスがありますが、ListControlでselectedValueを設定できないというエラーが表示されますが、selectValueをプライマリに設定していますテーブルのキー。しかし、まだ...ここにコードがあるランタイム上でエラーを取得...ListControlでSelectedValueを空のValueMemberで設定することはできませんc#

private void FormAddStudent_Load(object sender, EventArgs e) 
    { 
     //For combobox Campuse 
     cBoxCampus.DataSource = GetAllCampuses(); 

     cBoxCampus.DisplayMember = "campus_name"; 
     cBoxCampus.SelectedValue = "campus_id"; 
     //Foe ComboBox Department 
     cBoxDepartment.DataSource = GetAllDepartment(); 

     cBoxDepartment.DisplayMember = "depname"; 
     cBoxDepartment.SelectedValue = "depid"; 
    } 

、これは挿入ボタンの背後にあるコード

 private void btnInsert_Click(object sender, EventArgs e) 
    { 
     string CS = ConfigurationManager.ConnectionStrings["UMSdbConnectionString"].ConnectionString; 
     using (SqlConnection con = new SqlConnection(CS)) 
     { 
      con.Open(); 
      SqlCommand cmd = new SqlCommand("SELECT ISNULL(MAX(std_id),0)+1 FROM Student", con); 
      cmd.CommandType = CommandType.Text; 
      tbID.Text = cmd.ExecuteScalar().ToString(); 

      { 

       using (SqlCommand cmd1 = new SqlCommand("INSERT INTO Student (std_id,std_name,std_f_name,std_mob,std_gender,std_cnic,std_campus,std_dep,std_address,std_batch,std_batch_year)VALUES(@std_id,@std_name,@std_f_name,@std_mob,@std_gender,@std_cnic,@std_campus,@std_dep,@std_address,@std_batch,@std_batch_year)VALUES(@campus_id,@campus_name)", con)) 
       { 

        cmd1.CommandType = CommandType.Text; 
        cmd1.Parameters.AddWithValue("@std_id", tbID.Text); 
        cmd1.Parameters.AddWithValue("@std_name", tbName.Text); 
        cmd1.Parameters.AddWithValue("@std_f_name", tbFatherName.Text); 
        cmd1.Parameters.AddWithValue("@std_mob", tbMobNumber.Text); 
        cmd1.Parameters.AddWithValue("@std_gender", GetGender()); 
        cmd1.Parameters.AddWithValue("@std_cnic", tbMobNumber.Text); 
        cmd1.Parameters.AddWithValue("@std_campus",(cBoxCampus.SelectedIndex == -1) ? 0: cBoxCampus.SelectedValue); 
        cmd1.Parameters.AddWithValue("@std_dep", (cBoxDepartment.SelectedIndex == -1) ? 0 : cBoxDepartment.SelectedValue); 
        cmd1.Parameters.AddWithValue("@std_address", tbAddress.Text); 
        cmd1.Parameters.AddWithValue("@std_batch", tbBatchNo.Text); 
        cmd1.Parameters.AddWithValue("@std_batch_year", tbBatchYear.Text); 
        cmd1.ExecuteNonQuery(); 
        con.Close(); 
        MessageBox.Show("Record Saved"); 

       } 
      } 


     } 
    } 

答えて

3

あるListControl.ValueMember

cBoxCampus.SelectedValue = "campus_id"; 

を交換してプロパティ

cBoxCampus.ValueMember = "campus_id"; 

同様の操作をcBoxDepartmentにします

+0

すみませんでした... –

関連する問題