Buongiorno a tutti!![]()
Ho un problema con l'update di un database locale access. Premetto che mi sono avvicinato a c# e ai database recentemente e sono molto ignorante in materia XD.
Ho un programma che deve gestire un magazzino di una sartoria. La struttura del database è la seguente:
Immagine.jpg
Il database ha n tabelle suddivise per anno. ogni anno ha la sua tabella. Prima dell'avvio del programma viene selezionato dall'utente l'anno e quindi la corrispettiva tabella.
Il programma principale ha un dataGridView che visualizza tutti i campi della tabella del database. Quello che vorrei fare è modificare i parametri tramite datagridview e aggiornare di conseguenza il database tramite voce nel menu.
Di seguito vi posto parte del codice che uso per popolare il mio DataGridView
Fin qui nessun problema.codice:public partial class Form1 : Form { OleDbConnection connect = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database_Sartoria.mdb;"); OleDbCommandBuilder commandBuilder; OleDbDataAdapter dataAdapter; DataSet ds; ... query = "SELECT * FROM " + selected; //selected = tabella selezionata prima dell'avvio del programma ... ds = new DataSet(); dataAdapter = new OleDbDataAdapter(query, connect); commandBuilder = new OleDbCommandBuilder(dataAdapter); dataAdapter.Fill(ds, "magazzino"); dataGridView1.DataSource = ds; dataGridView1.DataMember = "magazzino";
Di seguito il codice per l'update:
nel momento in cui vado sul mio menu e clicco salva mi da il seguente errore e non riesco proprio a capire dove sto sbagliando :bhò:codice:private void salvaToolStripMenuItem_Click(object sender, EventArgs e) { try { dataAdapter.Update(ds, "magazzino"); MessageBox.Show("Salvataggio Riuscito", "Update", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception se) { MessageBox.Show(se.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }
errore.jpg
qualcuno di voi riesce ad aiutarmi? Grazie infinite anticipatamente

 
					
					
					
						
  Rispondi quotando
 Leggendo tra i vari manuali ho capito (spero XD) che la query di INSERT, DELETE e UPDATE venisserò generate automaticamente dandogli in pasto la SELECT...molto probabilmente ho sbagliato qualcosa o non ho fatto il tutto in maniera corretta XD Sicuramente andrò a spulciare nel forum per trovare qualcosa relativo al costrutto parameter e mi studierò come funziona. Per quanto riguarda il database non avevo pensato di aggiungere un campo anno...avevo pensato di fare tabelle multiple per fare confronti e separare tutto in maniera più "netta" senza pensare di farlo direttamente da query.
			