- Modificare le righe di un database -
 
COSA SERVE PER QUESTO TUTORIAL
Download | Chiedi sul FORUM | Glossario Conoscenza dell'HTML - un server che supporti la tecnologia ASP .NET - facoltativamente un editor provvisto di intellisense (es. Macromedia Dreamweaver)
La query SQL UPDATE per modificare le righe di una tabella di un database

UPDATE
Un semplice esempio per spiegare come modificare le righe di una tabella di un database Access.

UPDATE è la parola chiave utilizzata da Microsoft Jet nell'accesso ai database per modificare una riga (record) di un database già esistente.
1) Per prima cosa nel nostro file .aspx importiamo gli spazi di nome necessari: 


<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Oledb" %>

2) Iniziamo uno script e apriamo una connessione al database che desideriamo modificare attraverso l'oggetto OleDbConnection che ci servirà in seguito:

<script language="VB" runat="server">
Sub Page_Load()
    Dim objConn As New OleDbConnection _
    ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source =" & Server.MapPath("/cartella/nomedatabase.mdb"))

3) Attiviamo la connessione appena creata e creiamo un oggetto OleDbCommand che viene utilizzato per eseguire le query (e quindi le operazioni) di modifica:

    objConn.Open()
    Dim objCmd As New OleDbCommand _
    ("UPDATE nometabella1 SET nomecolonna1='ArcadiA', nomecolonna2='Club' " & _
    "WHERE nomecolonna3='Sito internet'", objConn)

Siamo arrivati al punto più importante; analizziamo attentamente la stringa-query appena vista: UPDATE è la parola chiave per aggiornare (ovvero sostituire il contenuto) di un riga (chiamato anche record) all'interno di una tabella. Nell'esempio sopra, subito dopo UPDATE, abbiamo il nome della tabella che contiene la riga che desideriamo modificare (nometabella1), poi abbiamo la parola chiave SET che indica a Jet come dovrà aggiornare le righe in questione: il contenuto della colonna nomecolonna1 verrà sostituito con il testo 'ArcadiA' mentre quello di nomecolonna2 con 'Club'. Infine per evitare di modificare l'intera tabella è possibile circoscrivere la modifica solo ad alcuni record attraverso la parola chiave WHERE, per ulteriori informazioni clicca qui.
Nota: se necessario al posto dei valori da aggiungere si può specificare NULL per assegnarvi un valore DBNull oppure DEFAULT perchè in quel campo venga aggiunto il valore predefinito per quella colonna.
4) Ora che è stata impostata la query possiamo eseguirla:
    objCmd.executeNonQuery()
6) Infine chiudiamo la connessione, la sub e lo script:

    objConn.close()
End Sub
</script>

Nota: se nell'esecuzione di questo codice dovesse generarsi un errore del tipo "Per l'operazione è necessaria una query aggiornabile" è necessario cambiare i permessi di accesso alla cartella in cui viene eseguito il file dando i permessi di scrittura all'utente ASPNET (per farlo fare click destro sulla cartella, Proprietà, scheda Protezione).

 

<< INDIETROby VeNoM00