Condividi tramite


Procedura: eliminare record da un database

Aggiornamento: novembre 2007

Per eliminare i record da un database, utilizzare il metodo TableAdapter.Update oppure il metodo TableAdapter.Delete. In alternativa, se nell'applicazione non sono utilizzati TableAdapter, è possibile utilizzare oggetti Command di un database (ad esempio, ExecuteNonQuery).

In genere, il metodo TableAdapter.Update è utilizzato quando i dati vengono memorizzati nell'applicazione mediante i dataset, mentre il metodo TableAdapter.Delete è utilizzato quando i dati vengono memorizzati nell'applicazione mediante gli oggetti.

Se nel TableAdapter in uso non è presente un metodo Delete, 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 Delete, nella tabella non vengono fornite informazioni di schema sufficienti per distinguere tra le righe singole (ad esempio, sulla tabella non è impostata alcuna chiave primaria).

Eliminazione dei record mediante i TableAdapter

Nei TableAdapters sono forniti vari metodi per eliminare i record da un database a seconda dei requisiti dell'applicazione.

Se nell'applicazione sono utilizzati dataset per memorizzare i dati, è possibile eliminare in modo semplice i record dall'oggetto DataTable desiderato nell'oggetto DataSete quindi chiamare il metodo TableAdapter.Update. Il metodo TableAdapter.Update accetta tutte le modifiche apportate alla tabella dati e le invia al database (inclusi i record inseriti, aggiornati ed eliminati).

Per eliminare i record da un database utilizzando il metodo TableAdapter.Update

  • Eliminare i record dall'oggetto DataTable desiderato eliminando gli oggetti DataRow dalla tabella. Per ulteriori informazioni, vedere Procedura: eliminare righe in un oggetto DataTable. Dopo l'eliminazione delle righe dall'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 eliminare un record da un oggetto DataTable e chiamare il metodo TableAdapter.Update per comunicare le modifiche ed eliminare la riga dal database. In questo esempio viene utilizzata la tabella Region del database Northwind.

    ' Locate the row to delete.
    Dim oldRegionRow As NorthwindDataSet.RegionRow
    oldRegionRow = NorthwindDataSet._Region.FindByRegionID(5)
    
    ' Delete the row from the dataset
    oldRegionRow.Delete()
    
    ' Delete the row from the database
    Me.RegionTableAdapter.Update(Me.NorthwindDataSet._Region)
    
    // Locate the row to delete.
    NorthwindDataSet.RegionRow oldRegionRow;
    oldRegionRow = northwindDataSet.Region.FindByRegionID(5);
    
    // Delete the row from the dataset
    oldRegionRow.Delete();
    
    // Delete the row from the database
    this.regionTableAdapter.Update(this.northwindDataSet.Region);
    

Se nell'applicazione vengono utilizzati gli oggetti per la memorizzazione dei dati, per eliminare i dati direttamente dal database è possibile utilizzare i metodi DBDirect del TableAdapter. La chiamata al metodo Delete consente di rimuovere i record dal database in base ai valori di parametro passati.

Per eliminare i record da un database utilizzando il metodo TableAdapter.Update

  • Chiamare il metodo Delete del TableAdapter passando i valori per ciascuna colonna come parametri del metodo Delete. In questo esempio viene utilizzata la tabella Region del database Northwind.

    Nota:

    Se non è disponibile alcuna istanza, creare un'istanza del TableAdapter da utilizzare.

    Dim regionTableAdapter As New NorthwindDataSetTableAdapters.RegionTableAdapter
    
    regionTableAdapter.Delete(5, "NorthWestern")
    
    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Delete(5, "NorthWestern");
    

Eliminazione di record mediante oggetti Command

Nell'esempio riportato di seguito vengono eliminati i record direttamente da 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.

Per eliminare i record da un database utilizzando oggetti Command

  • Creare un nuovo oggetto Command e impostarne le proprietà Connection, CommandType e CommandText. In questo esempio viene utilizzata la tabella Region del database Northwind.

    Dim sqlConnection1 As New System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING")
    
    Dim cmd As New System.Data.SqlClient.SqlCommand
    cmd.CommandType = System.Data.CommandType.Text
    cmd.CommandText = "DELETE Region WHERE RegionID = 5 AND RegionDescription = 'NorthWestern'"
    cmd.Connection = sqlConnection1
    
    sqlConnection1.Open()
    cmd.ExecuteNonQuery()
    sqlConnection1.Close()
    
    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 = "DELETE Region WHERE RegionID = 5 AND RegionDescription = 'NorthWestern'";
    cmd.Connection = sqlConnection1;
    
    sqlConnection1.Open();
    cmd.ExecuteNonQuery();
    sqlConnection1.Close();
    

Sicurezza

È necessario disporre di accesso al database a cui si tenta di connettersi e dell'autorizzazione all'eliminazione dei record dalla tabella desiderata.

Vedere anche

Attività

Procedura: inserire nuovi record in un database

Procedura: aggiornare record in un database

Procedura: salvare dati da un oggetto in un database

Concetti

Cenni preliminari sugli oggetti TableAdapter

Altre risorse

Guida introduttiva all'accesso ai dati

Connessione ai dati in Visual Studio

Preparazione dell'applicazione al ricevimento di dati

Recupero di dati nell'applicazione

Visualizzazione di dati su form nelle applicazioni Windows

Modifica di dati nell'applicazione

Convalida dei dati

Salvataggio di dati