2017-05-19 3 views
0

データベースに最後に挿入された行を選択します。私がデータベースにデータを挿入すると、datagridviewがリフレッシュされ、最後に挿入した行が検索されます。私の問題は、最後の挿入行を選択する方法がわからないことです。私は新しいアイテムがデータベースに追加されて保存ボタンをクリックすると、私は最後のインサートIDとどのように今 enter image description hereDatagridview最後の挿入行を選択します。データベース経由で挿入します。

にを持って、グリッドが更新され、彼は新しいrow.Howを表示する自動にID 30のようなデータを選択した行のセーブ成功の後グリッド内

private void sacuvajPromeneButton_Click(object sender, EventArgs e) 
{ 
    using (var pleaseWaitForm = new Loading()) 
    { 
     pleaseWaitForm.Show(); 

     Application.DoEvents(); 

     using (var conn = new MySqlConnection(Database.connStringStatic)) 
     { 
      try 
      { 
       conn.Open(); 

       using (MySqlCommand cmd = conn.CreateCommand()) 
       { 

        cmd.Parameters.AddWithValue("@ime", primalac_ime_textBox.Text); 
        cmd.Parameters.AddWithValue("@prezime", primalac_prezime_textBox.Text); 
        cmd.Parameters.AddWithValue("@grupa_id", 1); 
        cmd.Parameters.AddWithValue("@ulica", primalac_ulica_textBox.Text); 
        cmd.Parameters.AddWithValue("@grad", primalac_grad_textBox.Text); 
        cmd.Parameters.AddWithValue("@postanski_br", primalac_postanskiBroj_textBox.Text); 
        cmd.Parameters.AddWithValue("@jmbg", posiljalac_jmb_textBox2.Text); 
        cmd.Parameters.AddWithValue("@telefon", primalac_kontakt_textBox.Text); 
        cmd.Parameters.AddWithValue("@telefon_2", telefon2_textBox1.Text); 
        cmd.Parameters.AddWithValue("@email", posiljalac_email_textBox3.Text); 
        cmd.Parameters.AddWithValue("@napomena", napomenarichTextBox1.Text); 
        cmd.Parameters.AddWithValue("@datum_kreiranja", DateTime.Now); 

        // cmd.CommandType = CommandType.StoredProcedure; 
        cmd.CommandText = "CALL kreiraj_korisnika(@ime, @prezime, @grupa_id, @ulica, @grad, @postanski_br, @jmbg, @telefon, @telefon_2, @email, @napomena, @datum_kreiranja)"; 
        cmd.ExecuteNonQuery(); 

        long lastInsertId= cmd.LastInsertedId; 

        // Refresh grid 
        dataGridView1.DataSource = null; 
        bs.DataSource = GetDat("SELECT id, ime, prezime, ulica, grad, postanski_br, telefon FROM korisnici ORDER by id"); 
        dataGridView1.DataSource = bs; 


        // Test selecting 


        pleaseWaitForm.Close(); 

        MessageBox.Show("User created."); 

        // Now select that new created user in grid 
        // dataGridView1.Rows[4].Selected = true; 


        this.Activate(); 

        sacuvajPromeneButton.Visible = false; 


       } 
      } 
      catch(MySqlException ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 

     } 

    } 
} 

答えて

2
あなたは DataGridViewRowsAddedEventを扱うことにより、最新の追加行を選択することができ

private void DataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) 
{ 
    this.Rows[e.RowIndex].Selected = true; 
} 
関連する問題