Visualizzazione dei risultati da 1 a 5 su 5

Discussione: ASP.NET Sintassi query

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473

    ASP.NET Sintassi query

    Ciao a tutti,
    avrei una domanda che anche se puo sembrar stupida, mi sta tormentando.
    Dunque dopo anni di programmazione di sitiweb con asp, ho deciso di evolvermi usando asp.net.
    Il problema sta nell'eseguire query di select o insert nel mio db access.

    in asp usavo la seguente procedura

    codice:
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open(percorso)
    									
    Set objRs = Server.CreateObject("ADODB.Recordset")
    									
    query="SELECT CLIENTI.sconto FROM CLIENTI WHERE ((CLIENTI.username)='" & username & "');"
    										
    set objRs = objConn.Execute(query)
    										
    if objRs.EOF then
       sconto=""
    end if
    										
    										
    Do While not objRs.EOF
    											
       sconto=objRs("sconto")
       objRs.Movenext
    
    loop											
    											
    objRs.Close
    Set objRs = Nothing
    objConn.Close
    Set objConn = Nothing

    mentre in asp.net quali oggetti devo utilizzare?

    Grazie per qualsiasi risposta!


  2. #2
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    L'oggetto che si utilizza per accedere ad un database Access è l'AccessDataSource che è un oggetto anche piuttosto complesso nel senso che permette di coprire una moltitudine di casi d'uso (Inserimento , modifica , eliminazione e selezione).

    Visto che nn hai una esigenza particolare ti invio a leggere questa pagina che contiene molti link su come utilizzare quest'oggetto .


    Ora in linea generale con il .net vi sono oggetti per l'accesso hai dati come AccessDataSource , SqlDataSource etc etc e oggetti che si appogiano a questi per poterli visualizzare nella pagina come ad esempio le GridView , DetailsView , Repeater, FormView.

    Questi ultimi oggetti offrono funzionalità diverse e quindi bisongna conoscerli bene per decidere quale scegliere per risolvere il proprio problema di visualizzazione


  3. #3
    ciao,
    come tu ti sei evoluto passando da asp ad asp.net, anche ADO si è evoluto ed è passato ad ADO.NET

    Per access puoi utilizzare la libreria System.Data.OleDb (System.Data.SqlClient per SQL).
    I recordset in pratica non esistono più, ma i dati li puoi ricevere in altri oggetti:
    DataTable, DataReader, DataSet.
    DataReader è più simile al vecchio recordset, ma con alcune limitazioni (Reader appunto)

    Puoi aprire una connessione con l'oggetto <prefix>Connection
    (OleDbConnection , SqlConnection )

    Puoi eseguire query con l'oggetto <prefix>Command
    (OleDbCommand , SqlCommand )

    ed utilizzare i tre metodi classici:

    ExecuteNonQuery : nome fuorviante, certo che esegue una query, ma senza risultati, esempio un update, un insert, o una SP che non restituisce nulla (era meglio se si chiamave ExecuteQueryNonResult)

    ExecuteReader : esegue una select e restituisce il risultato in un DataReader

    ExecuteScalar : esegue una query e restituisce un unico risultato (un record con un campo)

    per le datatable devi usare un nuovo oggetto che si chiama OleDbDataAdapter
    qui un piccolissimo esempio:

    codice:
    string fileDBPath = "c:\bla_bla_bla\access.mdb";
    string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};User Id=admin;Password=;";
    string sql = "SELECT * FROM myTable";
    
    using (OleDbConnection dbConn = new OleDbConnection(string.Format(connStr, fileDBPath)))
    {
        using (OleDbCommand cmd = new OleDbCommand(sql, dbConn))
        {
            DataTable dt = new DataTable();
            OleDbDataAdapter da = new OleDbDataAdapter(cmd);
            da.Fill(dt);
                        
            //ora la tua dt è piena
    
        }
    }
    per un elenco essaudiente delle stringhe di connessione:
    http://connectionstrings.com/access

    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Grazie ad entrambi per le risposte!

    Provo nella prossima settimana a fare delle prove, in futuro mi servirà sia fare delle selezioni che le varie insert, update e delete.

    Sola una domanda, ho iniziato ad usare gli stessi oggetti in vb.net, usando ado.net e fino a qua nessun problema, se io voglio creare una pagina web in asp.net uso ado.net e scrivo piu o meno le stesse cose che ho scritto in vb.net, giusto? Oppure per la pagina web (asp.net) devo scrivere usando altre stringhe di connessione e/o parametri diversi?

    Grazie


  5. #5
    no, il codice rimane praticamente uguale.

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.