Lucrul cu InterBase și Firebird în

VÂRSTĂ coloana va fi adăugată la toate comanda de actualizare. Dacă încercați să transferați modificările în baza de date se va arunca o excepție. Trebuie să editați manual textul de interogare pentru a insera, actualiza, șterge și eliminați comenzile din actualizarea această coloană.

Editați instrucțiunea SQL poate apela comanda «Editare întrebare din setul de date de designer»:

Deschideți designer de set de date. în care trebuie să fie selectat TableAdapter dorit (în acest caz SALESTTableAdapter):

Lista de proprietăți va fi necesar pentru noi obiecte OleDbCommand:

Cititorul ar putea crede că acest caz este o excepție, dar nu este. Dacă alegeți această metodă de creare a unui strat de acces la date (Data Access Layer), apoi să fie pregătit să intervină în mod constant în procesul de generare automată de interogări SQL.

BindingSource

Odată cu lansarea tehnologiei Net Legare 2.0 Datele au fost dezvoltate în continuare. O nouă clasă BindingSource. Este un obiect proxy între furnizorii de date și controalele care afișează datele respective. Acum, controlul nu este legat la obiectele de furnizare de date (DataTable. DataSet. DataView) și obiect BindingSource. Acest lucru permite utilizarea datelor descărcate, precum și a sincroniza mai multe date cu caracter obligatoriu în cazul BindingSource generale pentru mai multe controale.

Continuând să construiască aplicația noastră va da, în opinia mea, un exemplu viu, care demonstrează toate obiect avantaje BindingSource.

Adăugați pentru a forma un nou control DataGridView. Să încercăm să-i arate lista proiectelor pentru care angajatul curent selectat în -e ComboBox. A fost liderul. Este cunoscut faptul că Angajatul și de proiect tabele interconectate prin câmp TEAM_LEADER INTEG_36 cheie externă. Noi folosim mecanismul familiar controlului de comunicare și sursa de date:

Este necesar să se găsească în lista posibilelor surse de date deja folosite de mine mai devreme BindingSource pentru masa de angajați angajat și cere proiectantul pentru a crea un nou BindingSource de comunicare între funcționarii proiectului și INTEG_36 cheie externă:

Adăugați element de TextBox pentru a afișa o descriere a proiectului, care este stocat în tabelul PROJECT_DESCR PROIECT câmp BLOB. În scopul de a se conecta la proiectul curent din listă, trebuie să instalați DataGridView proprietate de legare Text:

Adăugarea de logica de gestionare a datelor

Figura cum să afișeze, link și edita datele, să completeze cererea de exemplu, și să învețe să scrie modificările înapoi la baza de date.

Singurul câmp editabil este descrierea proiectului curent. Pentru a înregistra modificările efectuate în acesta, prin utilizarea TableAdapter.Update () pentru masa PROIECT. Adăugați un buton de control privind forma și în handler Faceți clic pe csobytiya scrie următorul cod:

De asemenea, este o idee bună pentru a fi în măsură să se rostogolească înapoi modificările. Adăugați un alt buton de tratare a evenimentelor clic va pune codul care va anula toate modificările în setul de date. a făcut de la ultima salvare:

În procesul de a scrie o schimbare cod în baza de date, am întâlnit următoarea problemă: atunci când editarea datelor asociate nu se transmite prin modificările TextBox în setul de date și metoda DataSet.HasChanges () returnează întotdeauna false. Pentru a rezolva această problemă, în tratare a evenimentelor TextBox.Validate trebuie să adăugați următorul cod:

De aplicare completat JobManager puteti descarca arhiva cu exemplele de la articol.