Search This Blog

Monday, January 30, 2012

SQL Connection Class

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;

namespace DataAccess
{
    public class SQLDAL
    {
        string SQLConnectionString;

        public SQLDAL()
        {
            SQLConnectionString = string.Empty;
        }
        public SQLDAL(string SQLConnectionString)
        {
            this.SQLConnectionString = SQLConnectionString;
        }
        public enum ExecutionType
        {
            ReturnNothing = 1,
            ReturnScalarValue = 2
        }
        private string ModifiedSQLQuery(string argSQLQry)
        {
            argSQLQry = argSQLQry.Replace(" Function ", "[Function]");
            argSQLQry = argSQLQry.Replace(" Function,", "[Function],");
            argSQLQry = argSQLQry.Replace(".Function", ".[Function]");
            argSQLQry = argSQLQry.Replace(" Status ", "[Status]");
            argSQLQry = argSQLQry.Replace(" Status,", "[Status],");
            argSQLQry = argSQLQry.Replace(".Status", ".[Status]");
            argSQLQry = argSQLQry.Replace("[", "(");
            argSQLQry = argSQLQry.Replace("]", ")");
            return argSQLQry;
        }
        public PropertyCollection ConnectionString
        {
            get;
            set;
        }
        /// <summary>
        /// Get DataSet
        /// </summary>
        /// <param name="argSQLQry"></param>
        /// <returns>DataSet</returns>
        public DataSet GetDataSet(string argSQLQry)
        {
            try
            {
                using (DataSet dataset = new DataSet())
                {
                    argSQLQry = ModifiedSQLQuery(argSQLQry);
                    SqlDataAdapter adapter = new SqlDataAdapter(argSQLQry, SQLConnectionString);
                    adapter.Fill(dataset);
                    return dataset;
                }
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        /// Get DataTable
        /// </summary>
        /// <param name="argSQLQry"></param>
        /// <returns>DataTable</returns>
        public DataTable GetDataTable(string argSQLQry)
        {
            try
            {
                using (DataTable datatable = new DataTable())
                {
                    argSQLQry = ModifiedSQLQuery(argSQLQry);
                    SqlDataAdapter adapter = new SqlDataAdapter(argSQLQry, SQLConnectionString);
                    adapter.Fill(datatable);
                    return datatable;
                }
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        /// Execute SQL Command
        /// </summary>
        /// <param name="argSQLQry"></param>
        /// <param name="executionCommandType"></param>
        /// <returns>Object</returns>
        public object ExecuteSQLCommand(string argSQLQry, ExecutionType executionCommandType)
        {
            try
            {
                using (SqlConnection ConnectionString = new SqlConnection(SQLConnectionString))
                {
                    ConnectionString.Open();
                    using (SqlCommand command = new SqlCommand(argSQLQry, ConnectionString))
                    {
                        object obj = DBNull.Value;
                        if (executionCommandType == ExecutionType.ReturnNothing)
                            obj = command.ExecuteNonQuery() as object;
                        else
                            obj = command.ExecuteScalar() as object;
                        return obj;
                    }
                }
            }
            catch (Exception)
            {
                return null;
            }
        }

        public object ExecuteSQLCommand(string argSQLQry, List<SqlParameter> sqlParamCollection, ExecutionType executionCommandType)
        {
            try
            {
                using (SqlConnection ConnectionString = new SqlConnection(SQLConnectionString))
                {
                    ConnectionString.Open();
                    using (SqlCommand command = new SqlCommand(argSQLQry, ConnectionString))
                    {
                        command.CommandType = CommandType.StoredProcedure;
                        foreach (SqlParameter param in sqlParamCollection)
                        {
                            command.Parameters.Add(param);
                        }

                        object obj = DBNull.Value;
                        if (executionCommandType == ExecutionType.ReturnNothing)
                            obj = command.ExecuteNonQuery() as object;
                        else
                            obj = command.ExecuteScalar() as object;
                        return obj;
                    }
                }
            }
            catch (Exception)
            {
                return null;
            }
        }

    }

    public class CommandObj
    {
        string ParameterName { get; set; }
        SqlDbType ParameterType { get; set; }
        string Parameter { get; set; }
    }
}

OLEDB Connection Class for MS Access


using System;
using System.Data;
using System.Data.OleDb;

namespace All_Examples
{
    class OledbDAL
    {
        string OLEDBConnectionString;
        public OledbDAL()
        {
            OLEDBConnectionString = string.Empty;
        }
        public OledbDAL(string OLEDBConnectionString)
        {
            this.OLEDBConnectionString = OLEDBConnectionString;
        }
        public enum ExecutionType
        {
            ReturnNothing = 1,
            ReturnScalarValue = 2
        }
        public PropertyCollection ConnectionString
        {
            get;
            set;
        }
        /// <summary>
        /// Get DataTable
        /// </summary>
        /// <param name="argSQLQry"></param>
        /// <returns>DataTable</returns>
        public DataTable GetDataTable(string argSQLQry)
        {
            try
            {
                using (DataTable datatable = new DataTable())
                {
                    OleDbDataAdapter adapter = new OleDbDataAdapter(argSQLQry, OLEDBConnectionString);
                    adapter.Fill(datatable);
                    return datatable;
                }
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        /// Get DataSet
        /// </summary>
        /// <param name="argSQLQry"></param>
        /// <returns>DataSet</returns>
        public DataSet GetDataSet(string argSQLQry)
        {
            try
            {
                using (DataSet dataset = new DataSet())
                {
                    OleDbDataAdapter adapter = new OleDbDataAdapter(argSQLQry, OLEDBConnectionString);
                    adapter.Fill(dataset);
                    return dataset;
                }
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        /// Execute SQL Command
        /// </summary>
        /// <param name="argSQLQry"></param>
        /// <param name="executionCommandType"></param>
        /// <returns>Object</returns>
        public object ExecuteSQLCommand(string argSQLQry, ExecutionType executionCommandType)
        {
            try
            {
                using (OleDbConnection ConnectionString = new OleDbConnection(OLEDBConnectionString))
                {
                    ConnectionString.Open();
                    using (OleDbCommand command = new OleDbCommand(argSQLQry, ConnectionString))
                    {
                        object obj = DBNull.Value;
                        if (executionCommandType == ExecutionType.ReturnNothing)
                            obj = command.ExecuteNonQuery() as object;
                        else
                            obj = command.ExecuteScalar() as object;
                        return obj;
                    }
                }
            }
            catch (Exception)
            {
                return null;
            }
        }
    }
}