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

    Include e connessione database

    ciao a tutti sono proprio alle primissime armi con ASP.NET sto iniziando a studiare qualcosa ... sono davanti ad un problema ... ecco il codice della mia pagina aspx..

    Codice PHP:
    <%@ Page Language="VB" ValidateRequest="false" %>
    <%@ 
    Import Namespace="System.Data" %>
    <%@ 
    Import Namespace="System.Data.OleDb" %>

    <!
    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">

    <
    script runat="server">

        Private 
    Sub Page_Load(ByVal sender As ObjectByVal e As EventArgs)

            
    ' Creo un oggetto connection, command  e datareader del namespace OleDB ADO.NET
            Dim cn As OleDbConnection
            Dim cmd As OleDbCommand
            Dim dr As OleDbDataReader
            ' 
    Apro la connessione
            Dim str 
    As String "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" _
            
    Server.MapPath("bd-massimo.mdb")
            
            
    cn = New OleDbConnection(str)
            
    cn.Open()
            
    ' Lancio una query nell'oggetto commando di OleDB
            cmd 
    = New OleDbCommand("SELECT * FROM clienti"cn)
            
    ' Eseguo la query in un datareader
            dr = cmd.ExecuteReader()
            ' 
    Mostro i dati a video
            
    While (dr.Read())
                
    Utenti.Text += dr("nome") & " " dr("cognome") & "
    "
            
    End While
            
    ' Un po di pulizia...
            dr.Close()
            cn.Close()
        End Sub
        
        
    </script>

        <head>
            <title>La mia prima pagina ASP.NET</title>
            <link href="stile.css" rel="stylesheet" type="text/css" />
        </head>
    <body>

    <form id="Modulo" runat="server">
        
    <asp:Label id="Utenti" runat="server" />
        
    </form>


    </body>
    </html> 
    quello che vorrei fare e mettere la conessione in un file sterno inc-con-db.ascx solo che non riesco a capire come fare ... cioè non so cosa scrivere nel file ascx e come devo importarlo... se qualcuno ha qualche dritta da darmi ..

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: la connessione o la stringa di connessione? :master:
    Pietro

  3. #3
    ciao e grazie della risposta...
    questa parte...
    Codice PHP:
    ' Creo un oggetto connection, command  e datareader del namespace OleDB ADO.NET 
            Dim cn As OleDbConnection 
            Dim cmd As OleDbCommand 
            Dim dr As OleDbDataReader 
            ' 
    Apro la connessione 
            Dim str 
    As String "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" 
            
    Server.MapPath("bd-massimo.mdb"
             
            
    cn = New OleDbConnection(str
            
    cn.Open() 
    così su ogni pagina non serve che ripeta il tutto ... sono proprio alle primissime armi con .NET .. altrimenti tu cosa consigli ...

  4. #4
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Originariamente inviato da slay
    ciao e grazie della risposta...
    questa parte...
    Codice PHP:
    ' Creo un oggetto connection, command  e datareader del namespace OleDB ADO.NET 
            Dim cn As OleDbConnection 
            Dim cmd As OleDbCommand 
            Dim dr As OleDbDataReader 
            ' 
    Apro la connessione 
            Dim str 
    As String "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" 
            
    Server.MapPath("bd-massimo.mdb"
             
            
    cn = New OleDbConnection(str
            
    cn.Open() 
    così su ogni pagina non serve che ripeta il tutto ... sono proprio alle primissime armi con .NET .. altrimenti tu cosa consigli ...
    inizia a mettere il codice nel .vb e non nella pagina stessa!
    Poi ti crei una masterpage o una classe dove metti la connessione

  5. #5
    Originariamente inviato da mexican
    inizia a mettere il codice nel .vb e non nella pagina stessa!
    Poi ti crei una masterpage o una classe dove metti la connessione
    ok per il .vb il resto non ho capito ... comedetto prima sono alle primissime armi ... avresti -- mi faresti un esempio ...

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    La prima cosa da fare forse è rendere disponibile ovunque le stringhe di connessione.
    Nel web.config, dentro <connectionStrings> metto per esempio StringaConnessioneTest

    <add name="StringaConnessioneTest" connectionString="Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=C:\dati\test\test.mdb"/>


    adesso, dentro la directory App_Code, mi creo un modulo gl (sta per global) ossia, una classe con tutti i metodi statici.

    Public Module gl

    End Module


    qui dentro ci metto allora una property a solo lettura StringaConnessioneTest, richiamabile ovunque con gl.StringaConnessioneTest

    codice:
        Public ReadOnly Property StringaConnessioneTest() As String
            Get
                Return ConfigurationManager.ConnectionStrings("StringaConnessioneTest").ConnectionString
            End Get
        End Property

    dentro il modulo ci metti tutto quello che è riusabile per il progetto corrente.

    Tutto quello che è riutilizzabile invece per tutti i progetti, li metti in una libreria esterna.

    Ad esempio, nel codice che hai messo, vedo che crei un DataReader. Ecco, perchè non ti crei una funzione che restituisce un DataReader opportunamente parametrizzata?

    A titolo di esempio
    codice:
        '-------------------------------------------------------------------------------------
        'Restituisce un oggetto DataReader o lancia eccezione in caso di errore
        'parametri: Stringa di connessione, stringa sql
        'la chiusura del reader provoca la chiusura della connessione
        '-------------------------------------------------------------------------------------
        Public Function GetDataReader(ByVal stringaConnessione As String, ByVal stringaSQL As String) As OleDbDataReader
            Dim Reader As OleDbDataReader = Nothing
            Dim Connessione As OleDbConnection = Nothing
            Try
                Connessione = New OleDbConnection(stringaConnessione)
                Connessione.Open()
                Dim Comando As New OleDbCommand(stringaSQL, Connessione)
                Reader = Comando.ExecuteReader(CommandBehavior.CloseConnection)
                Return Reader
            Catch Errore As Exception
                If Connessione IsNot Nothing Then Connessione.Close()
                Throw
            End Try
    
    
        End Function
    
        '-------------------------------------------------------------------------------------
        'Restituisce un oggetto DataReader o lancia eccezione in caso di errore
        'parametri: Stringa di connessione, stringa sql
        'la chiusura del reader non provoca la chiusura della connessione
        '-------------------------------------------------------------------------------------
        Public Function GetDataReader(ByVal connessione As OleDbConnection, ByVal stringaSQL As String) As OleDbDataReader
            Dim Reader As OleDbDataReader = Nothing
    
            Try
                Dim Comando As New OleDbCommand(stringaSQL, connessione)
                Reader = Comando.ExecuteReader()
                Return Reader
            Catch Errore As Exception
                Throw
            End Try
    
    
        End Function
    sono due funzioni che restituiscono un datareader. Una ha bisogno della stringa di connessione, l'altra della connessione, ...
    Pietro

  7. #7
    pietro grazie della risp .. però mica ho capito tanto ehh...
    allora (uso visual studio) mi sono creato il file web.config ecco il codice che mi crea in automatico visua studio ... il file l'ho salvato nella directory dove ho il mio sito .. giusto oppure ho sbagliato?

    Codice PHP:

    <?xml version="1.0" encoding="utf-8"?>
    <!-- 
        Nota: come alternativa alla modifica manuale del file, è possibile utilizzare lo 
        strumento di amministrazione Web per configurare le impostazioni dell'applicazione. Utilizzare il comando 
        Configurazione ASP.NET del menu Sito Web di Visual Studio.
        Un elenco completo di impostazioni e commenti è disponibile nel file 
        machine.config.comments che si trova in genere in 
        \Windows\Microsoft.Net\Framework\v2.x\Config 
    -->
    <configuration>

        <configSections>
          <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
              <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
              <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
                <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
                <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
                <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
                <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
              </sectionGroup>
            </sectionGroup>
          </sectionGroup>
        </configSections>  

        <appSettings/>
      [B]<add name="StringaConnessioneTest" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\prova-asp-net\bd-massimo.mdb"/>
      <system.web>[/B] 
            <!-- 
                Impostare compilation debug="true" per inserire i 
                simboli di debug nella pagina compilata. Poiché tale
                operazione ha effetto sulle prestazioni, impostare questo valore su true 
                solo durante lo sviluppo.
            -->
            <compilation debug="false">
              <assemblies>
                <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
              </assemblies>
            </compilation>
    ecc.....
    ecc...
    mi hai detto "dentro la dentro la directory App_Code" la mia domanda ma App_code è un nome invetato oppure devo metterla proprio li e dove la dovrei trovare?
    Per creare un modulo cosa intendi dovrei creare un file .vb?
    Scusa ma sto fa cendo degli esperimenti con .net quindi come detto su sono agli inizi..

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Tasto destro sulla radice nell'albero dei files (esplora soluzioni) ed "aggiungi cartella .net" o qualcosa di simile, non ricordo perfettamente. Fra quelle c'e' App_Code (il nome della cartella non e' inventato, è una convenzione del framework) che contiene le classi, i moduli o le interfacce che progetterai.

    Per creare un modulo si, un ".vb" o un ".cs" a seconda del linguaggio.
    Nel tuo caso, "gl.vb" (sempre tasto destro, aggiungi classe).

    Il web.config deve stare nella root del tuo sito.

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    ricorda che un modulo

    Public Module gl

    End Module

    non è altro che una classe in cui tutti i suo membri sono statici (shared)

    Per creare una Libreria di classi,

    tasto destro su soluzione
    aggiungi nuovo progetto
    da vb o c# scegliere Libreria di classi
    scegli il nome, per esempio ClassLibrary1

    tasto destro su ClassLibrary1
    aggiungi classe --> qui metti le tue classi/moduli di uso generale, per tutte le applicazioni

    tasto destro sul progetto web
    pagina proprietà
    riferimenti aggiungi
    progetti --> aggiungo il riferimento alla libreria ClassLibrary1



    ps. il primo codice che hai mandato, da dove lo prendesti? :master:
    Pietro

  10. #10
    ok allora sto smanettando con visual studio (anche questo software non ho mai usato)

    allora ecco che ho fatto ... prima di tutto ho pregato
    ho cancellato tutto ...
    ho creato un nuvo progetto e questo in automatico mi ha creato la cartella App_data e il web.config ...

    allora mi sono creato il file gl.vb (tx dx aggiungi classse file di testo )
    dentro al gl.vb ho messo:

    Codice PHP:
    Public Module gl

        
    Public ReadOnly Property StringaConnessioneTest() As String
            Get
                
    Return ConfigurationManager.ConnectionStrings("StringaConnessioneTest").ConnectionString
            End Get
        End Property

        
    '-------------------------------------------------------------------------------------
        '
    Restituisce un oggetto DataReader o lancia eccezione in caso di errore
        
    'parametri: Stringa di connessione, stringa sql
        '
    la chiusura del reader provoca la chiusura della connessione
        
    '-------------------------------------------------------------------------------------
        Public Function GetDataReader(ByVal stringaConnessione As String, ByVal stringaSQL As String) As OleDbDataReader
            Dim Reader As OleDbDataReader = Nothing
            Dim Connessione As OleDbConnection = Nothing
            Try
                Connessione = New OleDbConnection(stringaConnessione)
                Connessione.Open()
                Dim Comando As New OleDbCommand(stringaSQL, Connessione)
                Reader = Comando.ExecuteReader(CommandBehavior.CloseConnection)
                Return Reader
            Catch Errore As Exception
                If Connessione IsNot Nothing Then Connessione.Close()
                Throw
            End Try


        End Function


    End Module 
    su web.config ho aggiunto (oltre a tutto il codice che viene fatto di default)...
    Codice PHP:
    <add name="StringaConnessioneTest" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\prova-asp-net\bd-massimo.mdb"/> 
    ok ci dovremo essere .. mo come faccio ad integrare il tutto con il mio codice di origine..
    Codice PHP:
    <%@ Page Language="VB" ValidateRequest="false" %> 
    <%@ 
    Import Namespace="System.Data" %> 
    <%@ 
    Import Namespace="System.Data.OleDb" %> 

    <!
    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    <
    html xmlns="http://www.w3.org/1999/xhtml"

    <
    script runat="server"

        Private 
    Sub Page_Load(ByVal sender As ObjectByVal e As EventArgs

            
    ' Creo un oggetto connection, command  e datareader del namespace OleDB ADO.NET 
            Dim cn As OleDbConnection 
            Dim cmd As OleDbCommand 
            Dim dr As OleDbDataReader 
            ' 
    Apro la connessione 
            Dim str 
    As String "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" 
            
    Server.MapPath("bd-massimo.mdb"
             
            
    cn = New OleDbConnection(str
            
    cn.Open() 
            
    ' Lancio una query nell'oggetto commando di OleDB 
            cmd 
    = New OleDbCommand("SELECT * FROM clienti"cn
            
    ' Eseguo la query in un datareader 
            dr = cmd.ExecuteReader() 
            ' 
    Mostro i dati a video 
            
    While (dr.Read()) 
                
    Utenti.Text += dr("nome") & " " dr("cognome") & "

            
    End While 
            
    ' Un po di pulizia... 
            dr.Close() 
            cn.Close() 
        End Sub 
         
         
    </script> 

        <head> 
            <title>La mia prima pagina ASP.NET</title> 
            <link href="stile.css" rel="stylesheet" type="text/css" /> 
        </head> 
    <body> 

    <form id="Modulo" runat="server"> 
         
    <asp:Label id="Utenti" runat="server" /> 
         
    </form> 


    </body> 
    </html> 

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.