Inserire nuovi record in 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. 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.
Per inserire nuovi record in un database con ADO.NET in un progetto .NET Framework, è possibile usare il TableAdapter.Update
metodo o uno dei metodi DBDirect di TableAdapter ,in particolare il TableAdapter.Insert
metodo . Per altre informazioni, vedere TableAdapter.
Se l'applicazione non usa TableAdapters, è possibile usare oggetti comando (ad esempio , SqlCommand) per inserire nuovi record nel database.
Se l'applicazione usa set di dati per archiviare i dati, usare il TableAdapter.Update
metodo . Il Update
metodo invia tutte le modifiche (aggiornamenti, inserimenti ed eliminazioni) al database.
Se l'applicazione usa oggetti per archiviare i dati o se si vuole un controllo più corretto sulla creazione di nuovi record nel database, usare il TableAdapter.Insert
metodo .
Se tableAdapter non dispone di un Insert
metodo, significa che TableAdapter è configurato per l'uso di stored procedure oppure la relativa GenerateDBDirectMethods
proprietà è impostata su false
. Provare a impostare la proprietà true
di TableAdapter su dall'interno di GenerateDBDirectMethods
Progettazione set di dati e quindi salvare il set di dati. Questa azione rigenera l'oggetto TableAdapter. Se TableAdapter non dispone ancora di un Insert
metodo, la tabella probabilmente non fornisce informazioni sullo schema sufficienti per distinguere tra singole righe( ad esempio, potrebbe non essere impostata alcuna chiave primaria nella tabella).
Nota
Questo articolo si applica allo sviluppo di ADO.NET e .NET Framework. Per la stessa attività con Entity Framework 6, vedere Aggiunta di una nuova entità al contesto. Per Entity Framework Core, vedere Aggiunta di dati.
Inserire nuovi record usando TableAdapters
Gli oggetti TableAdapter offrono modi diversi per inserire nuovi record in un database, a seconda dei requisiti dell'applicazione.
Se l'applicazione usa set di dati per archiviare i dati, è possibile aggiungere nuovi record al set di dati desiderato DataTable nel set di dati e quindi chiamare il TableAdapter.Update
metodo . Il TableAdapter.Update
metodo invia tutte le modifiche nel DataTable database ,inclusi i record modificati ed eliminati.
Per inserire nuovi record in un database utilizzando il metodo TableAdapter.Update
Aggiungere nuovi record all'oggetto desiderato DataTable creando un nuovo DataRow oggetto e aggiungendolo alla Rows raccolta.
Dopo aver aggiunto le nuove righe a DataTable, chiamare il
TableAdapter.Update
metodo . È possibile controllare la quantità di dati da aggiornare passando un intero DataSetoggetto , una DataTablematrice di DataRowo un singolo DataRowoggetto .Nel codice seguente viene illustrato come aggiungere un nuovo record a e DataTable quindi chiamare il
TableAdapter.Update
metodo per salvare la nuova riga nel database. In questo esempio viene usata laRegion
tabella nel database Northwind.// Create a new row. NorthwindDataSet.RegionRow newRegionRow; newRegionRow = northwindDataSet.Region.NewRegionRow(); newRegionRow.RegionID = 5; newRegionRow.RegionDescription = "NorthWestern"; // Add the row to the Region table this.northwindDataSet.Region.Rows.Add(newRegionRow); // Save the new row to the database this.regionTableAdapter.Update(this.northwindDataSet.Region);
Per inserire nuovi record in un database utilizzando il metodo TableAdapter.Insert
Se l'applicazione usa oggetti per archiviare i dati, è possibile usare il TableAdapter.Insert
metodo per creare nuove righe direttamente nel database. Il Insert
metodo accetta i singoli valori per ogni colonna come parametri. La chiamata al metodo inserisce un nuovo record nel database con i valori dei parametri passati.
- Chiamare il metodo TableAdapter
Insert
, passando i valori per ogni colonna come parametri.
La procedura seguente illustra l'utilizzo del TableAdapter.Insert
metodo per inserire righe. In questo esempio vengono inseriti dati nella Region
tabella nel database Northwind.
Nota
Se non si dispone di un'istanza disponibile, creare un'istanza di TableAdapter da usare.
NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter =
new NorthwindDataSetTableAdapters.RegionTableAdapter();
regionTableAdapter.Insert(5, "NorthWestern");
Inserire nuovi record usando oggetti comando
È possibile inserire nuovi record direttamente in un database usando oggetti comando.
Per inserire nuovi record in un database utilizzando oggetti comando
- Creare un nuovo oggetto comando e quindi impostarne
Connection
le proprietà ,CommandType
eCommandText
.
Nell'esempio seguente viene illustrato l'inserimento di record in un database tramite l'oggetto comando . Inserisce i dati nella Region
tabella nel database Northwind.
System.Data.SqlClient.SqlConnection sqlConnection1 =
new System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "INSERT Region (RegionID, RegionDescription) VALUES (5, 'NorthWestern')";
cmd.Connection = sqlConnection1;
sqlConnection1.Open();
cmd.ExecuteNonQuery();
sqlConnection1.Close();
Protezione .NET
È necessario avere accesso al database a cui si sta tentando di connettersi e l'autorizzazione per eseguire inserimenti nella tabella desiderata.
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per