- Aggiungere righe ad 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 INSERT per aggiungere righe ad una tabella di un database

INSERT
Un semplice esempio per spiegare come inserire righe in una tabella di un database Access.

INSERT è la parola chiave utilizzata da Microsoft Jet nell'accesso ai database per accodare una riga ad una tabella.
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 _
    ("INSERT INTO nometabella1(nomecolonna1, nomecolonna2, nomecolonna3) " & _
    "VALUES('Primo valore', 'Secondo valore', 'Terzo valore')", objConn)

Siamo arrivati al punto più importante analizziamo attentamente la stringa-query appena vista: INSERT è appunto la parola chiave per accodare degli elementi a una tabella; INTO è indispensabile affinché non venga generato un errore di sintassi; nometabella1 indica la tabella del database da modificare e tra parentesi ci sono le colonne che si desidera prendere in considerazione; infine tra parentesi dopo la parola chiave VALUES vanno inseriti i valori che si desidera siano immessi nella nuova riga, essi vanno posti tra apici (') se il valore è una stringa di testo, tra cancelletti (#) se si tratta di una data mentre per i numeri non è necessario alcun delimitatore; l'ordine dei valori messi dopo VALUES deve corrispondere a quello delle colonne specificate dopo il nome della tabella.
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()
5) 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).

 

<< INDIETRO by VeNoM00