Per inserire nuovi record in un database, è possibile utilizzare il metodo TableAdapter.Update oppure uno dei metodi DBDirect del TableAdapter (in modo specifico il metodo TableAdapter.Insert). Per ulteriori informazioni, vedere Cenni preliminari sugli oggetti TableAdapter.
Se nell'applicazione non sono utilizzati TableAdapter, sarà possibile utilizzare oggetti Command per interagire e inserire nuovi record nel database in uso (ad esempio, SqlCommand).
Utilizzare il metodo TableAdapter.Update quando nell'applicazione vengono utilizzati i dataset per la memorizzazione dei dati. Il metodo Update consente di inviare tutte le modifiche (aggiornamenti, inserimenti ed eliminazioni) al database.
Utilizzare il metodo TableAdapter.Insert quando nell'applicazione vengono utilizzati gli oggetti per la memorizzazione dei dati oppure se si desidera un maggiore controllo sulla creazione di nuovi record nel database.
Se nel TableAdapter non è presente un metodo Insert, il TableAdapter è stato configurato per utilizzare stored procedure oppure la relativa proprietà GenerateDBDirectMethods è impostata su false. Provare a impostare la proprietà GenerateDBDirectMethods del TableAdapter su true dalla Progettazione DataSet, quindi salvare il dataset per rigenerare il TableAdapter. Se, dopo tale procedura, nel TableAdapter non è ancora presente un metodo Insert, nella tabella non vengono fornite informazioni di schema sufficienti per distinguere tra le righe singole (ad esempio, sulla tabella non è impostata alcuna chiave primaria).
Inserimento di nuovi record mediante i TableAdapter
I TableAdapter forniscono diversi metodi per inserire nuovi record in un database a seconda dei requisiti dell'applicazione.
Se nell'applicazione sono utilizzati dataset per memorizzare i dati, è sufficiente nuovi record all'oggetto DataTable desiderato nel dataset e quindi chiamare il metodo TableAdapter.Update. Il metodo TableAdapter.Update accetta tutte le modifiche apportate all'oggetto DataTable e le invia al database (inclusi i record modificati ed eliminati).
Per inserire nuovi record in un database utilizzando il metodo TableAdapter.Update
-
Aggiungere nuovi record all'oggetto DataTable desiderato creando un nuovo oggetto DataRow e aggiungendolo all'insieme Rows. Per ulteriori informazioni, vedere Procedura: aggiungere righe a una DataTable.
-
Dopo l'aggiunta delle righe all'oggetto DataTable, chiamare il metodo TableAdapter.Update. È possibile controllare la quantità di dati da modificare passando un oggetto DataSet intero, un oggetto DataTable, una matrice di oggetti DataRow oppure un oggetto DataRow singolo.
Nel codice riportato di seguito viene illustrato come aggiungere un nuovo record a un oggetto DataTable e quindi chiamare il metodo TableAdapter.Update per salvare la nuova riga nel database. In questo esempio viene utilizzata la tabella Region del database Northwind.
' Create a new row.
Dim newRegionRow As NorthwindDataSet.RegionRow
newRegionRow = Me.NorthwindDataSet._Region.NewRegionRow()
newRegionRow.RegionID = 5
newRegionRow.RegionDescription = "NorthWestern"
' Add the row to the Region table
Me.NorthwindDataSet._Region.Rows.Add(newRegionRow)
' Save the new row to the database
Me.RegionTableAdapter.Update(Me.NorthwindDataSet._Region)
// 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);
// Create a new row.
NorthwindDataSet.RegionRow newRegionRow;
newRegionRow = northwindDataSet.get_Region().NewRegionRow();
newRegionRow.set_RegionID(5);
newRegionRow.set_RegionDescription("NorthWestern");
// Add the row to the Region table
this.northwindDataSet.get_Region().get_Rows().Add(newRegionRow);
// Save the new row to the database
this.northwindDataSetRegionTableAdapter.Update(
this.northwindDataSet.get_Region());
Se nell'applicazione sono utilizzati oggetti per la memorizzazione dei dati, è possibile utilizzare il metodo TableAdapter.Insert per creare nuove righe direttamente nel database. Il metodo Insert accetta i valori singoli per ciascuna colonna come parametri. La chiamata al metodo consente di inserire un nuovo record nel database con i valori di parametro passati.
Nella procedura riportata di seguito viene utilizzata come esempio la tabella Region del database Northwind.
Per inserire nuovi record in un database utilizzando il metodo TableAdapter.Insert
Inserimento di nuovi record mediante oggetti Command
Nell'esempio riportato di seguito vengono inseriti nuovi record direttamente in un database utilizzando oggetti Command. Per ulteriori informazioni sull'utilizzo di oggetti Command per eseguire comandi e stored procedure, vedere Recupero di dati nell'applicazione.
Nella procedura riportata di seguito viene utilizzata come esempio la tabella Region del database Northwind.
Per inserire i nuovi record in un database utilizzando oggetti Command
Protezione
È necessario disporre di un accesso al database a cui si tenta di connettersi e dell'autorizzazione a eseguire l'inserimento nella tabella desiderata.
Vedere anche