Salvare i dati da un oggetto a un database nelle applicazioni .NET Framework
Nota
I set di dati e le classi correlate sono tecnologie .NET Framework legacy dei primi anni '2000 che consentono alle applicazioni di lavorare con i dati in memoria mentre le applicazioni vengono disconnesse dal database. Le tecnologie sono particolarmente utili per le applicazioni che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Anche se i set di dati hanno dimostrato di essere una tecnologia molto efficace, è consigliabile che le nuove applicazioni .NET usino Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e ha un'interfaccia di programmazione più semplice.
È possibile salvare i dati in oggetti in un database passando i valori dall'oggetto a uno dei metodi DBDirect di TableAdapter, ad esempio TableAdapter.Insert
. Per altre informazioni, vedere TableAdapter.
Per salvare i dati da una raccolta di oggetti, scorrere la raccolta di oggetti , ad esempio un ciclo for-next, e inviare i valori per ogni oggetto al database utilizzando uno dei metodi di DBDirect
TableAdapter.
Per impostazione predefinita, DBDirect
i metodi vengono creati in un oggetto TableAdapter che può essere eseguito direttamente nel database. Questi metodi possono essere chiamati direttamente e non richiedono DataSet o DataTable oggetti per riconciliare le modifiche per inviare aggiornamenti a un database.
Nota
Quando si configura un oggetto TableAdapter, la query principale deve fornire informazioni sufficienti per la creazione dei DBDirect
metodi. Ad esempio, se un oggetto TableAdapter è configurato per eseguire query sui dati da una tabella in cui non è definita una colonna chiave primaria, non genera DBDirect
metodi.
Metodo DBDirect di TableAdapter | Descrizione |
---|---|
TableAdapter.Insert |
Aggiunge nuovi record a un database e consente di passare singoli valori di colonna come parametri del metodo. |
TableAdapter.Update |
Aggiorna i record esistenti in un database. Il Update metodo accetta valori originali e nuovi di colonna come parametri del metodo. I valori originali vengono usati per individuare il record originale e i nuovi valori vengono usati per aggiornare il record.Il TableAdapter.Update metodo viene usato anche per riconciliare le modifiche in un set di dati nel database accettando una DataSetmatrice , DataTable, DataRowo una matrice di DataRows come parametri del metodo. |
TableAdapter.Delete |
Elimina i record esistenti dal database in base ai valori di colonna originali passati come parametri del metodo. |
Per salvare nuovi record da un oggetto a un database
Creare i record passando i valori al
TableAdapter.Insert
metodo .Nell'esempio seguente viene creato un nuovo record cliente nella
Customers
tabella passando i valori nell'oggettocurrentCustomer
alTableAdapter.Insert
metodo .private void AddNewCustomers(Customer currentCustomer) { customersTableAdapter.Insert( currentCustomer.CustomerID, currentCustomer.CompanyName, currentCustomer.ContactName, currentCustomer.ContactTitle, currentCustomer.Address, currentCustomer.City, currentCustomer.Region, currentCustomer.PostalCode, currentCustomer.Country, currentCustomer.Phone, currentCustomer.Fax); }
Per aggiornare i record esistenti da un oggetto a un database
Modificare i record chiamando il
TableAdapter.Update
metodo , passando i nuovi valori per aggiornare il record e passando i valori originali per individuare il record.Nota
L'oggetto deve mantenere i valori originali per passarli al
Update
metodo . In questo esempio vengono utilizzate proprietà con unorig
prefisso per archiviare i valori originali.Nell'esempio seguente viene aggiornato un record esistente nella
Customers
tabella passando i valori nuovi e originali nell'oggettoCustomer
alTableAdapter.Update
metodo .private void UpdateCustomer(Customer cust) { customersTableAdapter.Update( cust.CustomerID, cust.CompanyName, cust.ContactName, cust.ContactTitle, cust.Address, cust.City, cust.Region, cust.PostalCode, cust.Country, cust.Phone, cust.Fax, cust.origCustomerID, cust.origCompanyName, cust.origContactName, cust.origContactTitle, cust.origAddress, cust.origCity, cust.origRegion, cust.origPostalCode, cust.origCountry, cust.origPhone, cust.origFax); }
Per eliminare record esistenti da un database
Eliminare i record chiamando il
TableAdapter.Delete
metodo e passando i valori originali per individuare il record.Nota
L'oggetto deve mantenere i valori originali per passarli al
Delete
metodo . In questo esempio vengono utilizzate proprietà con unorig
prefisso per archiviare i valori originali.Nell'esempio seguente viene eliminato un record dalla
Customers
tabella passando i valori originali nell'oggettoCustomer
alTableAdapter.Delete
metodo .
Protezione .NET
È necessario disporre dell'autorizzazione per eseguire l'oggetto , UPDATE
o DELETE
selezionato INSERT
nella tabella nel database.