Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Aggiornamaneto db
giovedì 06 febbraio 2014 - 17.09
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
pedro8a
Profilo
| Junior Member
178
messaggi | Data Invio:
gio 6 feb 2014 - 17:09
Ciao a tutti,
ho un db access da cui recupero i dati da una taballa.
Poi con questo codice cerco di aggiungere una riga:
Dim Row As DataRow = ds.Tables("test").NewRow
Row(1) = "ddd"
Row(2) = "qqqqq"
ds.Tables("test").Rows.Add(Row)
da.Update(ds, "test")
mi dice update richiede un insertcommand valido...
Quello che voglio fare è:
- in un form di inserimento dati permetto all'utente di aggiungere nuove righe.
Quindi l'utente aggiunge righe, solo quando preme il tasto salva, vengono riportate le righe del datagrid sul db.
________________________
Pedro8a
Sviluppo per passione
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
gio 6 feb 2014 - 17:31
Ciao.
I problemi possono essere 2:
1- Nel DataAdapter relativo al tuo dataset non sono effettivamente configurate bene le istruzioni di insert, update e delete. (se hai fatto tutto da wizard la cosa è strana)
2 - quando aggiungi una nuova riga fai
Dim Row As DataRow = ds.Tables("test").NewRow
Row(1) = "ddd"
Row(2) = "qqqqq"
ds.Tables("test").Rows.Add(Row)
la cosa strana è che non metti nessun valore nella row(0) e l'errore potrebbe stare proprio nel fatto che non valorizzi tutti i campi (tranne se poi questo campo non è autoincrementale)
Cristian Barca
pedro8a
Profilo
| Junior Member
178
messaggi | Data Invio:
gio 6 feb 2014 - 17:34
Non ho utilizzato wizard, ecco il codice per popolare il datagrid:
StrSql = "Select * from Tabella1"
Cn.Open()
da = New OleDb.OleDbDataAdapter(StrSql, Cn)
da.Fill(ds, "Test")
Cn.close
DataGridView1.DataSource = ds.Tables("test")
ovviamente da e ds sono variabili pubbliche
________________________
Pedro8a
Sviluppo per passione
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
gio 6 feb 2014 - 17:42
ok. Allora si spiega tutto.
E' normale che quando fai ds.Update(.....) ti da errore.
Il metodo Update del dataset non fa altro che scorrere la tabella che ci passi e valutare il RowState di ogni singola riga. A seconda del RowState intraprende una azione a database.
Per fare questo però deve sapere bene la struttura della tua tabella. Per la precisione occorre che devono essere valorizzate le istruzioni per l'insert, l'update e il delete.
Puoi dare una occhiata qui per impostarti le tue istruzioni di Insert,Update e Delete.
http://msdn.microsoft.com/it-it/library/system.data.common.dataadapter.update%28v=vs.110%29.aspx
http://msdn.microsoft.com/it-it/library/tf579hcz%28v=vs.110%29.aspx
http://msdn.microsoft.com/it-it/library/bbw6zyha%28v=vs.110%29.aspx
Cristian Barca
pedro8a
Profilo
| Junior Member
178
messaggi | Data Invio:
gio 6 feb 2014 - 18:15
perfetto, leggo...
Anche se ho 2/3 dubbi:
1- se apro il form di inserimento, come recupero la sola struttura della tabella?
2- potrei iterare sulle righe del datagrid che ho riempito a manina, con una query update aggiorno il db
3- un altro problema, nel caso di 2 tabelle collegate da un id, come recupero l'id della tabella master dopo l'inserimento??
Chiedo troppo...
________________________
Pedro8a
Sviluppo per passione
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !