UPDATE i DELETE za pobocą DataGridView

0

Witam

Mam problem. Chcę aktualizować i usuwać wiersze za pomocą DataGridView. Mam wyświetlone w nim dane i chcę je zmienić i zapisać do bazy. Wie ktoś jak to zrobić??
Wyświetlanie mam w taki sposób

DataSet dane = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM firmy", pol);
adapter.Fill(dane);
dataGridView1.DataSource = dane.Tables[0];

Pozdrawiam

0

DataSet....OnRowChange() czy coś takiego .. wtedy row.Update() - nie pamiętam dokładnie - może to Cię naprowadzi - ogólnie to nie DataGridView tylko DataSet.

0

Proponuje nadawać nazwy wczytanym tablicom do DataSet. Później to się przyda

adapter.Fill(dane, "nazwa"); // wczytywanie do obiektu "dane" typu DataSet i nadanie tablicy nazwy "nazwa"
dataGridView1.DataSource = dane;
dataGridView1.DataMember = "nazwa";

Updane robi sie bardzo prosto:

//klasa OleDbCommandBuilder automatycznie tworzy zapytania potrzebna do zapisania zmian w bazie
OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter); 

adapter.Update(dane, "nazwa"); 

Usuwanie jednego wiersza:

int select = dataGridView1.SelectedRows[0].Index; /*zmiennej select przypisujes nr zaznaczonego jednego wiersza 
                                                    jest będą zaznaczone kilka muszisz zrobic to w pętli 
                                                    SelectedRows[n]*/
DataTable dt = dane.Tables["nazwa"]; //Tworzysz obiekt DataTable i przypisujesz mu dane z obiektu "dane" o wczesniej nadanym index-e "nazwa"
dt.Rows[select].Delete();
0

A jak łączę się za pomocą SqlConnection to wtedy to nie działa.

Pozdrawiam

0

Oki już mam

Znalazłem coś takiego:

SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source=KLAPOUCHY\SQLEXPRESS;Initial Catalog=Agent;Integrated Security=True";
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Klient", conn);
SqlCommandBuilder cb = new SqlCommandBuilder(adapter);
adapter.Update((DataTable)dataGridView1.DataSource);

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1