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

    [ASP.NET C#] Aprire/Chiudere connessione

    Salve a tutti,
    sto usando i mysql connectors ultima versione per connettermi a mysql con asp.net c#. Ho creato una classe contenente in particolare due funzioni: una che dovrebbe chiudere la connessione e una che la dovrebbe aprire. C'è però un problema. Quando apro la connessione essa rimane un qualcosa di chiuso dentro la funzione e non quindi pubblicamente accessibile dalla pagina e dalle altre funzioni tra cui quella che dovrebbe chiuderla, come faccio?

    codice:
    public string SqlConnect()
    {
          try
          {
              MySqlConnection pConnection = new MySqlConnection("stringa di connessione");
              pConnection.Open();
          }
          catch (MySqlException ex)
          {
              return ex.Message;
          }
    
          return "";
    }
    
    public void SqlDisconnect()
    {
          pConnection.Close();
    }

  2. #2
    semplice:

    codice:
    private MySqlConnection mySqlConnection;
    
    public string SqlConnect()
    {
          try
          {
              this.mySqlConnection = new MySqlConnection("stringa di connessione");
              this.mySqlConnection.Open();
          }
          catch (MySqlException ex)
          {
              return ex.Message;
          }
    
          return "";
    }
    
    public void SqlDisconnect()
    {
          if(this.mySqlConnection != null)
          {
               this.mySqlConnection.Close();
          }
    }
    
    public MySqlConnection GetConnection()
    {
         if(this.mySqlConnection == null)
             this.SqlConnect();
         return this.mySqlConnection;
    }
    Semplicemente rendi il tuo oggetto reperibile nella classe, oppure se vuoi che altri oggetti possano utilizzare la connessione utilizzi GetConnection().
    N.B. ho cercato di adattare il tutto alla tua classe, ci sono mille modi per farlo, spero che questo possa esserti di aiuto per capire.

    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  3. #3
    grazie funziona, una sola curiosità: come mai usi this? è necessario/obbligatorio?

  4. #4
    lo uso per una questione di abitudine, this non è obbligatorio ma delle volte (,se ci sono parametri di un metodo che riportano lo stesso nome dei parametri presenti nella classe, è obbligatorio utilizzarlo per evitare confusione.

    Ok, quindi risolto!
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

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.