ciao a tutti in gito ho trovato sta roba qui ma nn riesco a farla funzionare ne in c# ne in vb
Io ho il mio datagrid eseguo su questo modifiche e aggiungo dati ma poi nn riesco a riportare le modifiche sul database!
nn capisco cosa devo scrivere per fare insert di nuovi dati aggiunti in fondo al datagrid e l'update di dati modificati nella griglia del datagrid!
string c= @"C:\test.mdb";
string connection = @"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";U ser ID=Admin;Data Source="+c+";Mode=Share Deny None";
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(connection);
///ho definito la connessione al mio database Access
///Ora definisco un oggetto DataAdapter che mi permette di copiare in locale
///i dati della tabella e definisco un oggetto Dataset che funge da DB locale nel
///programma.
OleDbDataAdapter da = new OleDbDataAdapter("Select * from MyTable", conn);
ds = new DataSet();
da.Fill(ds,"MyTable");
///Bindo la tabella alla griglia
grid.DataSource = ds.Tables["MyTable"];
grid.SetDataBinding(ds, "Coob");
in questo modo i dati della griglia sono bindati a quelli del dataset e quindi se viene modificato un record nella griglia ....lo stesso record cambia anche nel dataset.
Per vedere se il DataSet ha subito modifiche devi scrivere:
if (ds.Tables["MyTable"].GetChanges() != null){
int numeroRigheModificate = ds.Tables["MyTable"].GetChanges().Rows.Count;
///a questo punto visto che ci sono state delle modifiche al tuo DataSet
///devi aggiornare i dati anche nel tuo DataBase in modo che Dataset
//e DataBase siano allineati. Per fare questo devi definire dei SqlCommand
OleDBCommand cmd = New OleDBCommand();
cmd.Connection = conn;
cmd.CommandTex = "insert into MyTable ....." ///Stringa di inserimento dati
///DA DOVE PRENDE I DATI?ps mytable è formato da nome cognome e ID
e come faccio a fargli fare l'update dei dati di una tabella?
...definisci i parametri della tua tabella ....
da.InsertCommand = cmd;
///definisci anche gli OleDbCommand di Update e delete
///Alla fine esegui l'update dei tuoi dati:
da.Update(ds.Tables["MyTable"]);