Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problemi di base con i database

    Ciao,
    è da un pò che sto cercando di usare i database con aspx,
    volevo sapere se per scrivere si deve usare per forza il dataset
    visto che il repeater legge soltanto.
    Quello che voglio fare è:
    1. aprire un database esistente
    2. leggere il contenuto del primo record
    3. modificarlo
    4. leggere il contenuto aggiornato
    5. chiudere il database

    ho provato il seguente codice ma mi da errore nella riga evidenziata

    codice:
    <%@ Page Language="C#" debug="true"%> 
    
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    
    <script runat="server">
    
    void Page_Load(Object sender, EventArgs e)
    {
    	String ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("/mdb-database/prova.mdb");
    	
    	OleDbConnection cn = new OleDbConnection(ConnString);
    	cn.Open();
    
    	String sql = "SELECT * FROM Utenti";
    	OleDbDataAdapter Adapter = new OleDbDataAdapter(sql, cn);
    	
    	DataSet DS = new DataSet();
    	Adapter.Fill(DS);
    
    	DataTable Tabella;
    	DataRow Riga;
    	
    	Tabella = DS.Tables[0];	
    	Riga = Tabella.Rows[0];
    	
    	Response.Write("Nome prima della modifica: " + Riga["Nome"]);
    	
    	Riga["Nome"] = "Nuovo Nome";
    	
    	Adapter.Update(DS); <<--- Errore !
    	
    	Adapter.Fill(DS);
    	
    	Response.Write("Nome dopo la modiica: " + Riga["Nome"]);
    	
    	cn.Close();
    }
    
    </script>
    l'errore mi fa notare che non ho un UpdateCommand valido. Di che si tratta?

  2. #2

    Re: Problemi di base con i database

    Originariamente inviato da SoulsKiller
    è da un pò che sto cercando di usare i database con aspx,
    come ti sarai accorto ado.net non e' una passeggiata quindi necessita di studio prima dei tentativi. In particolare ti consiglio di approfondire l'uso del dataadapter e dei suoi relativi SelectCommand InsertCommand UpdateCommand e DeleteCommand. Ognuno di questi command (un command e' un oggetto che permette di eseguire operazioni su database) deve essere valorizzato con le relative istruzioni sql. Nel tuo esempio tu valorizzi soltanto il SelectCommand mentre cerchi di usare la funzione Update del dataadapter senza prima preoccuparti di valorizzarne il relativo UpdateCommand.
    Detto questo, altri consigli possono essere quello di non preoccuparti di aprire un oggetto connection prima di passarlo al dataadapter visto che il dataadapter si preoccupa di aprire e chiudere lui la connessione automaticamente mentre se invece ci pensi tu lui la lascia poi aperta.
    volevo sapere se per scrivere si deve usare per forza il dataset
    visto che il repeater legge soltanto.
    Ne l'uno ne l'altro. Scrivi i dati nel db utilizzando il dataadapter e in particolare i suoi command suddetti. Peraltro, il dataset e' un contenitore dei dati mentre il repeater e' un controllo aspx per rappresentare i dati.
    Saluti a tutti
    Riccardo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.