Da VB6/Microsoft Access/DAO a VB.NET/SQL Server… Hai qualche consiglio?
-
01-07-2019 - |
Domanda
Posso fare in modo che un recordset DAO in VB6/Access faccia qualsiasi cosa: aggiungere dati, pulire dati, spostare dati, vestire i dati la mattina e portarli a scuola.Ma non so nemmeno da dove cominciare in .NET.
Non ho problemi a recuperare i dati dal database, ma cosa fanno le persone reali quando hanno bisogno di modificare i dati e reinserirli?
Qual è il modo più semplice e diretto per modificare, aggiornare e aggiungere dati nelle tabelle correlate in .NET e SQL Server?
Soluzione
IL Set di dati la lezione è il punto di partenza.Come dice l'articolo collegato, i passaggi per creare un DataSet, modificarlo e quindi aggiornare il database sono in genere:
- Compilare e compilare ogni DataTable in un DataSet con i dati provenienti da un'origine dati utilizzando un DataAdapter.
- Modificare i dati nei singoli oggetti DataTable aggiungendo, aggiornando o eliminando oggetti DataRow.
- Richiamare il metodo GetChanges per creare un secondo DataSet che includa solo le modifiche ai dati.
- Chiamare il metodo Update di DataAdapter, passando il secondo DataSet come argomento.
- Richiamare il metodo Merge per unire le modifiche dal secondo DataSet al primo.
- Richiamare AcceptChanges sul DataSet.In alternativa, richiamare RejectChanges per annullare le modifiche.
Altri suggerimenti
Una progressione naturale IMO di DAO è ADO.net.Penso che troveresti abbastanza facile apprendere la comprensione/le basi di DAO.Utilizza DataAdapter e DataSet simili ai recordset. Modifica dei dati in ADO.NET.
Suggerirei di esaminare Linq quando ne hai la possibilità.
prova a utilizzare oledbConnection, oledbCommand e oledbDataReader
da System.data.oledb
se si utilizza SQLserver DB, da System.data.SqlClient
utilizzare SqlConnection , sqlCommand e sqlDataReader
C'è un motivo per cui ms-access è stato aggiunto come tag qui?Mi sembra che la domanda non abbia altro che la banale rilevanza per Access, poiché una volta che si lavora con .NET, Access è completamente fuori dai giochi.