Ciao a tutti
Per favore, salvatemi dalla follia
Sono giorni che sto lottando contro questo problema...
Allora il fatto è questo:
Ho una datagridview che viene generata a run time in seguito a delle tabelle che vengono scelte dall'utente. Per fare un esempio, l'utente decide di creare una tabella nel database che dipende dal numero di giorni presenti in un mese; Supponiamo che il mese sia febbraio, l'utente con un pulsante crea la tabella contenente 28 giorni + poche altre colonne. Se scegliesse gennaio, creerebbe nel db una tabella con 31 giorni etc..
Subito dopo aver creato la tabella, il datagridview prende le informazioni da questa tabella e si "genera".
Adesso, il mio problema è che non riesco in nessun modo ad aggiornare i dati che immetto su questa datagridview con la tabella relativa nel database, a meno di non pensare a query di inserimento allucinanti per ogni singolo valore contenuto nelle celle. Non avendo un numero prefissato di righe e colonne, mi è impossibile pensare di creare una query di insert. Ma anche se volessi farmi del male e pensare ad una query per ogni singolo mese, dovrei poi gestire ogni singolo valore contenuto nelle celle e spedirlo al database.... insomma... follia.
Documentandomi, credevo di aver trovato ciò che faceva al caso, ovvero, il metodo Update() dell'oggetto MySqlDataAdapter.
Credendo di far bene, avevo implementato qualcosa del genere:
Ovviamente, il tutto non mi funziona, altrimenti non cercherei di affliggervicodice:try { using(MySqlConnection cn = ConnClass.Create()) //codice per l'apertura della connessione { string selectData = "SELECT * FROM myTable"; MySqlDataAdapter mda = new MySqlDataAdapter(selectData, cn); DataSet ds = new DataSet(); MySqlCommandBuilder builder = new MySqlCommandBuilder(mda); myDataGridView.DataSource = ds; myDataGridView.DataMember = "myTable"; //....codice per formattare alcuni campi della datagridview mda.Update(ds, "myTable"); if( cn != null) { cn.Close(); cn.Dispose(); } } } catch(MySqlException ex) { //blabla per l'eccezione }
Ops.. dimenticavo di dire che non ottengo errori di nessun tipo, semplicemente, non viene fatto nessun aggiornamento.
Per favore, mi date una mano?
Grazie mille.
RaouL.



Rispondi quotando