Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    39

    [C#] file per funzioni, dichiarazione variabili e costanti

    salve a tutti.

    da qualche tempo ho iniziato ad avvicinarmi al mondo asp.net provenendo da asp + vbscript.

    utilizzo Vstudio 2008 Express edition per la realizzazione delle applicazioni.

    Vengo al dunque:

    in asp includevo un file in cui dichiaravo variabili e costanti, un secondo file per le funzioni, un ultimo file per le sub.

    Vorrei fare la stessa cosa con asp.net ma fino ad ora sono riuscito solo a creare file per le classi (.cs) nella cartella app_code che viene automaticamente incluso.

    Posso usare i file .cs per dichiarare variabili e costanti e per creare funzioni e sub da riutilizzare nel codice oppure è un'altra la strada che devo seguire?

  2. #2
    Beh tu provieni da un linguaggio procedurale ... il .NET è ad oggetti ... secondo me dovresti prima entrare nell'ottica di quest'altro paradigma di programmazione

    Poi sicuramente ti sarà più chiaro come sfruttare la potenza di classi ed oggetti!

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Puoi fare un module.

    codice:
    Imports Microsoft.VisualBasic
    
    Public Module UserFunctions
        Public Const costanteuno As String = "uno"
        Public Const costantedue As String = "due"
    
        Public Function FaiQualcosa() As Integer
            Return 123
        End Function
    End Module

    e dalla tua pagina:
    codice:
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
                   Dim num As Integer = UserFunctions.FaiQualcosa()
        End Sub
    te l'ho scritto in VB

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    39
    Beh tu provieni da un linguaggio procedurale ... il .NET è ad oggetti ... secondo me dovresti prima entrare nell'ottica di quest'altro paradigma di programmazione
    Se posto la classe che ho creato (la prima ed unica fino ad ora) mi dareste un'occhiata al codice e qualche dritta per sfruttare al meglio la programmazione ad oggetti?

    Puoi fare un module.
    in quale file posiziono il module?

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    in un file xxx.cs oppure xxx.vb, possibilmente nella cartella APP_CODE

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    39
    Non sono riuscito ad inserire un module però ho creato un namespace che importo nella pagina e al suo interno una struct che contiene alcuni dati che mi servono. Per una connessione mysql avrei fatto questo codice:
    codice:
    namespace MySqlConnect
    {
        public struct ApplicationMySqlConnect
        { /* CONTIENE TUTTE LE FUNZIONI PER INTERAGIRE CON IL DATABASE SQL */
            public static string MySqlConnectionParameter()
            { /* STRINGA CON I DATI NECESSARI PER LA CONNESSIONE MYSQL */
                string connParameter = String.Format( /* CREA LA STRINGA DI CONNESSIONE AL DATABASE */
                    "server={0};" +
                    "user id={1};" +
                    "password={2};" +
                    "database=dbname;" +
                    "pooling=false",
                    "servername",
                    "user",
                    "pwd"
                );
                return connParameter;
            }
            public static void MySqlConnectionTry()
            {
                MySqlConnection connMySqlDataBase;
                connMySqlDataBase = new MySqlConnection(ApplicationMySqlConnect.MySqlConnectionParameter());
                if (connMySqlDataBase.State != ConnectionState.Open) /* VERIFICA CHE LA CONNESSIONE AL DATABASE NON SIA GIA' APERTA */
                    try
                    {
                        connMySqlDataBase.Open();
                    }
                    catch (MySqlException ex) /* GESTISCE L'ECCEZIONE (ERRORE NELL'APERTURA DELLA CONNESSIONE) */
                    {
                        throw (ex); /* QUESTA ISTRUZIONE SOLLEVA L'ECCEZIONE MOSTRANDO L'ERRORE */
                    }
                    finally
                    {
                        connMySqlDataBase.Close();
                    }
            }
        }
    }
    Il codice, dopo l'apertura della connessione deve ritornare il recordset, dopodichè la connessione si chiuderà.
    Dimenticavo, il tutto è posizionato in un file "codice.cs" nella cartella APP_CODE.
    Vado per il verso giusto ho sto sbagliando?

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Secondo me si e no, vada per il secondo metodo che fa qualcosa di utile, ma per il primo (ApplicationMySqlConnect) c'e' il file Web.Config che può immagazzinare tutte le stringhe di connessione che vuoi, nella sezione <connectionStrings>
    codice:
    <connectionStrings>
     <add name="MioDB" providerName="System.Data.SqlClient" [esempio per SqlServer]
       connectionString="Data Source=nomeserver;Initial Catalog=nomeDB;User Id=pippo;Password=password;"/>
    </connectionStrings>

    dal tuo codice poi puoi usufruirne, richiamandola (string) con l'istruzione:
    codice:
    ConfigurationManager.ConnectionStrings("MioDB").ConnectionString

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    39
    ottimo, ho già modificato il codice e tutto sembra funzionare a dovere, la stringa che ho inserito è la seguente:

    Codice PHP:
    <connectionStrings>
             <
    add name="mySqlConnectionString" connectionString="server=servername; user id=userid; password=pwd; database=dbname; pooling=false"/>
    </
    connectionStrings
    L'unico dubbio è questo: posso cambiare il nome del database all'interno di web.config?

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da jerry74
    L'unico dubbio è questo: posso cambiare il nome del database all'interno di web.config?
    da codice, dinamicamente intendi ?

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    39
    si, da codice, senza creare diverse connessioni ma una in cui scegliere solo il db.

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.