Tuesday, August 23, 2011

C# code sample for Singleton design pattern to get a DB Connection

Question : Sample code for Singleton design pattern to get a connection to the DB

Singleton can be use where there is a need to create only one instance of a given class

Here are some common examples:  File Handler, Print Spooler handler, Database connection, etc


Singleton class 
    public class ConnSingleton
    {
        private static ConnSingleton dbInstance;
        private readonly SqlConnection conn = new SqlConnection(@"Data Source=127.0.0.1;database=soa;User id=sa1;Password=sa1;");       
     
        private ConnSingleton()
        {
        }

        public static ConnSingleton getDbInstance()
        {
            if (dbInstance == null)
            {
                dbInstance = new ConnSingleton();
            }
            return dbInstance;
        }

        public SqlConnection GetDBConnection()
        {
            try
            {
                conn.Open();
                Console.WriteLine("Connected");
            }
            catch (SqlException e)
            {
                Console.WriteLine("Not connected : "+e.ToString());
                Console.ReadLine();
            }
            finally
            {
                Console.WriteLine("End..");
               // Console.WriteLine("Not connected : " + e.ToString());
                Console.ReadLine();
            }
            Console.ReadLine();
            return con;
        }

    }

Method to call from Main class:
 public static void Main(string[] args)
        {
            ConnSingleton cs = ConnSingleton.getDbInstance();
            cs.GetDBConnection();           
            Console.WriteLine("Connection Established");
        }

No comments:

Post a Comment