Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    HELP! Accesso ai dati di un db Access

    Ho un DB Access (utenti.mdb) con una tabella (utenti), i campi USERNAME e PASSWORD e il seguente pezzo di codice:

    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>

    <script language="VB" runat="server">
    sub Page_Load(obj as Object, e as EventArgs)

    'IMPOSTA LA CONNESSIONE
    dim objConn as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " & _
    "Data Source=C:\...\utenti.mdb")

    'APRE LA CONNESSIONE
    dim objCmd as new OleDbDataAdapter("select * from utenti",objConn)

    'RIEMPIE L'OGGETTO DataSet
    dim ds as DataSet = new DataSet()
    objCmd.Fill(ds,"utenti")


    A questo punto com'è la sintassi per utilizzare i dati contenuti nei campi USERNAME e PASSWORD?

    Ho provato cose del tipo ds("USERNAME") e ds.USERNAME ma non funzionano.

    Grazie.

  2. #2
    ti do un esempio tratto dal libro apogeo asp.net...
    codice:
    <%@ Page Language="VB" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="System.Data.OleDb" %>
    <script runat="server">
    
        sub Page_Load(obj as Object, e as EventArgs)
        
           'set up connection
           dim myConnection as new OleDbConnection _
              ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
              "Data Source=H:\ASPNET\data\banking.mdb")
        
           'open connection
           dim myCommand as new OleDbDataAdapter _
              ("select * from tblUsers", myConnection)
        
           'fill dataset
           dim ds as DataSet = new DataSet()
           myCommand.Fill(ds, "tblUsers")
        
           'select data view and bind to server control
           'Repeater1.DataSource = ds.Tables("tblUsers").DefaultView
           Repeater1.DataSource = ds
           Repeater1.DataMember = "tblUsers"
           DataBind()
        
        end sub
    
    </script>
    <html><body>
      <ASP:Repeater id="Repeater1" runat="server" >
         <HeaderTemplate>
            <table>
            <tr>
               <td bgcolor="#cccc99" width="200">Name</td>
               <td bgcolor="#cccc99" width="200">Phone</td>
            </tr>
         </HeaderTemplate>
    
         <ItemTemplate>
            <tr>
               <td> <%# Container.DataItem("FirstName") %>
                    <%# Container.DataItem("LastName") %>
               </td>
               <td> <%# Container.DataItem("Phone") %> </td>
            </tr>
         </ItemTemplate>
    
         <AlternatingItemTemplate>
            <tr>
               <td bgcolor="#cccc99""> 
                  <%# Container.DataItem("FirstName") %>
                  <%# Container.DataItem("LastName") %>
               </td>
               <td bgcolor="#cccc99"> 
                  <%# Container.DataItem("Phone") %> 
               </td>
            </tr>
         </AlternatingItemtemplate>
    
         <SeparatorTemplate>
            <tr>
               <td colspan="2" align="center">
                  - - -
               </td>
            </tr>
         </SeparatorTemplate>
          
         <FooterTemplate>
            </table>
         </FooterTemplate>
      </ASP:Repeater>
    </body></html>
    spero ti sia di aiuto...

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    Se è controllare l'inserimento di un user name e di una password non ti consiglio l'uso di un dataset. Utilizza un datareader e controlli i risultati, migliori le prestazioni in maniera netta.
    Se proprio vuoi usare il dataset (ma perché? ), puoi fare:

    ds.Tables("Utenti").Rows(0).Columns(0).Value
    (scusa ma non ricordo bene a memoria la sintassi )

    Ciao
    'alchimista'

  4. #4

    Non voglio usare per forza il DataSet

    In effetti non lo voglio usare per forza. Solo che sul libro che ho comprato ("ASP.NET" di Apogeo) spiega abbastanza dettagliatamente il DataSet. Come si utilizza il DataReader?

    Grazie 1000.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Per leggere il contenuto di una DataTable:

    codice:
    MyVar = DS.Tables("NomeTabella").Rows(X)(Y)
    X e Y sono rispettivamente l'indice della riga e della colonna (hanno entrambi base 0). Puoi benissimo sostituire l'indice della colonna con il nome della stessa (ovviamente racchiuso fra gli apici).

    Per creare e leggere un DataReader

    codice:
    sub Page_Load(obj as Object, e as EventArgs) 
    
    dim objConn as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
    "Data Source=C:\...\utenti.mdb") 
    
    dim objCmd as new OleDbCommand("select * from utenti",objConn) 
    
    Dim MyReader as OleDbDataReader
    
    objConn.Open
    MyReader = objCmd.ExecuteReader
    
    'A questo punto puoi utilizzare l'oggetto MyReader come DataSource
    'di un tuo controllo, oppure puoi leggere i dati as 1 ad 1. ES:
    
    Dim MyVar
    
    While MyReader.Read()
    
    MyVar = MyReader.GetString(X)
    
    'X è L'indice del campo che ti interessa
    
    End While
    
    
    objConn.Close

    Hey hey, my my Rock and roll can never die!

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    Puoi scrivere:
    codice:
    dim Conn as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
    "Data Source=tuodatabase.mdb") 
    dim objCmd as new OleDbCommand("select * from utenti where nomeutente='"+nomeutente+"'",objConn) 
    Dim Reader as OleDbDataReader
    objConn.Open
    MyReader = objCmd.ExecuteReader(CommandBehavior.SingleResult)
    if (Reader.Read())
    if Reader("nome")=nomeutente and reader("password")=password then
    ' eventi se l'utente è autenticato
    end if
    objConn.Close
    ...
    Ciao
    'Alchimista'

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    Puoi scrivere:
    codice:
    dim Conn as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
    "Data Source=tuodatabase.mdb") 
    dim objCmd as new OleDbCommand("select * from utenti where nomeutente='"+nomeutente+"'",objConn) 
    Dim Reader as OleDbDataReader
    objConn.Open
    MyReader = objCmd.ExecuteReader(CommandBehavior.SingleResult)
    if (Reader.Read())
    if Reader("nome")=nomeutente and reader("password")=password then
    ' eventi se l'utente è autenticato
    end if
    objConn.Close
    ...
    Ciao
    'Alchimista'

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    Puoi scrivere:
    codice:
    dim Conn as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
    "Data Source=tuodatabase.mdb") 
    dim objCmd as new OleDbCommand("select * from utenti where nomeutente='"+nomeutente+"'",objConn) 
    Dim Reader as OleDbDataReader
    objConn.Open
    MyReader = objCmd.ExecuteReader(CommandBehavior.SingleResult)
    if (Reader.Read()) then
    if Reader("nome")=nomeutente and reader("password")=password then
    ' eventi se l'utente è autenticato
    end if
    objConn.Close
    ...
    Ciao
    'Alchimista'

  9. #9

    Grazie 1000

    Grazie. Mi serviva proprio il secondo esempio che mi hai dato!

    A questo punto ne approfitto

    Se l'utente è autenticato può accedere alla pagina protetta. Ma come faccio a nascondere l'URL della pagina protetta? Mi spiego: se uno entra una volta e vede l'URL della pag. protetta poi la seconda volta può digitare direttamente quell'URL... Che meccanismo si usa di solito per questo tipo di accessi alle pagine protette?

    Grazie ancora!!!
    Giulio Ferri
    giulioferri.it

    Anche un orologio fermo ha ragione due volte al giorno (Giorgio Faletti)

  10. #10
    se il campo password è vuoto (cioè è entrato digitando l'url della pagina protetta) allora lo rispedisci alla pagina dell'autenticazione

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 © 2025 vBulletin Solutions, Inc. All rights reserved.