Skip to content

Instantly share code, notes, and snippets.

@vavachi
Forked from crystianleao/DBHelper.cs
Created February 14, 2022 13:14
Show Gist options
  • Select an option

  • Save vavachi/d11b9f2c0011f8b2dd5f1a449031afd2 to your computer and use it in GitHub Desktop.

Select an option

Save vavachi/d11b9f2c0011f8b2dd5f1a449031afd2 to your computer and use it in GitHub Desktop.

Revisions

  1. @crystianleao crystianleao revised this gist Apr 15, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion DBHelper.cs
    Original file line number Diff line number Diff line change
    @@ -14,7 +14,7 @@ public static class DBHelper
    #if DEBUG
    private static string defaultConnectionString = "Data Source=localhost;Initial Catalog=GLOBOBH_MapaAntenas;Integrated Security=SSPI";
    #else
    private static string defaultConnectionString = "Data Source=10.0.0.11;Initial Catalog=GLOBOBH_MapaAntenas;User Id=Webserviceglobobh;Password=GLOBOBH@2010!;";
    private static string defaultConnectionString = "";
    #endif
    public static string DefaultConnectionString {
    get {
  2. @crystianleao crystianleao created this gist Apr 15, 2015.
    208 changes: 208 additions & 0 deletions DBHelper.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,208 @@
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Data;
    using System.Data.SqlClient;
    using System.Collections.Generic;
    using System.Collections.Specialized;

    namespace Helpers
    {
    public static class DBHelper
    {
    #if DEBUG
    private static string defaultConnectionString = "Data Source=localhost;Initial Catalog=GLOBOBH_MapaAntenas;Integrated Security=SSPI";
    #else
    private static string defaultConnectionString = "Data Source=10.0.0.11;Initial Catalog=GLOBOBH_MapaAntenas;User Id=Webserviceglobobh;Password=GLOBOBH@2010!;";
    #endif
    public static string DefaultConnectionString {
    get {
    return defaultConnectionString;
    }
    }

    public static DataTable ExecuteProcedure(string PROC_NAME, params object[] parameters)
    {
    try
    {
    if (parameters.Length % 2 != 0)
    throw new ArgumentException("Wrong number of parameters sent to procedure. Expected an even number.");
    DataTable a = new DataTable();
    List<SqlParameter> filters = new List<SqlParameter>();

    string query = "EXEC " + PROC_NAME;

    bool first = true;
    for (int i = 0; i < parameters.Length; i += 2)
    {
    filters.Add(new SqlParameter(parameters[i] as string, parameters[i + 1]));
    query += (first ? " " : ", ") + ((string)parameters[i]);
    first = false;
    }

    a = Query(query, filters);
    return a;
    }
    catch (Exception ex)
    {
    throw ex;
    }
    }

    public static DataTable ExecuteQuery(string query, params object[] parameters)
    {
    try
    {
    if (parameters.Length % 2 != 0)
    throw new ArgumentException("Wrong number of parameters sent to procedure. Expected an even number.");
    DataTable a = new DataTable();
    List<SqlParameter> filters = new List<SqlParameter>();

    for (int i = 0; i < parameters.Length; i += 2)
    filters.Add(new SqlParameter(parameters[i] as string, parameters[i + 1]));

    a = Query(query, filters);
    return a;
    }
    catch (Exception ex)
    {
    throw ex;
    }
    }

    public static int ExecuteNonQuery(string query, params object[] parameters)
    {
    try
    {
    if (parameters.Length % 2 != 0)
    throw new ArgumentException("Wrong number of parameters sent to procedure. Expected an even number.");
    List<SqlParameter> filters = new List<SqlParameter>();

    for (int i = 0; i < parameters.Length; i += 2)
    filters.Add(new SqlParameter(parameters[i] as string, parameters[i + 1]));
    return NonQuery(query, filters);
    }
    catch (Exception ex)
    {
    throw ex;
    }
    }

    public static object ExecuteScalar(string query, params object[] parameters)
    {
    try
    {
    if (parameters.Length % 2 != 0)
    throw new ArgumentException("Wrong number of parameters sent to query. Expected an even number.");
    List<SqlParameter> filters = new List<SqlParameter>();

    for (int i = 0; i < parameters.Length; i += 2)
    filters.Add(new SqlParameter(parameters[i] as string, parameters[i + 1]));
    return Scalar(query, filters);
    }
    catch (Exception ex)
    {
    throw ex;
    }
    }

    #region Private Methods

    private static DataTable Query(String consulta, IList<SqlParameter> parametros)
    {
    try
    {
    DataTable dt = new DataTable();
    SqlConnection connection = new SqlConnection(defaultConnectionString);
    SqlCommand command = new SqlCommand();
    SqlDataAdapter da;
    try
    {
    command.Connection = connection;
    command.CommandText = consulta;
    if (parametros != null)
    {
    command.Parameters.AddRange(parametros.ToArray());
    }
    da = new SqlDataAdapter(command);
    da.Fill(dt);
    }
    finally
    {
    if (connection != null)
    connection.Close();
    }
    return dt;
    }
    catch (Exception)
    {
    throw;
    }

    }

    private static int NonQuery(string query, IList<SqlParameter> parametros)
    {
    try
    {
    DataSet dt = new DataSet();
    SqlConnection connection = new SqlConnection(defaultConnectionString);
    SqlCommand command = new SqlCommand();

    try
    {
    connection.Open();
    command.Connection = connection;
    command.CommandText = query;
    command.Parameters.AddRange(parametros.ToArray());
    return command.ExecuteNonQuery();

    }
    finally
    {
    if (connection != null)
    connection.Close();
    }

    }
    catch (Exception ex)
    {
    throw ex;
    }
    }

    private static object Scalar(string query, List<SqlParameter> parametros)
    {
    try
    {
    DataSet dt = new DataSet();
    SqlConnection connection = new SqlConnection(defaultConnectionString);
    SqlCommand command = new SqlCommand();

    try
    {
    connection.Open();
    command.Connection = connection;
    command.CommandText = query;
    command.Parameters.AddRange(parametros.ToArray());
    return command.ExecuteScalar();

    }
    finally
    {
    if (connection != null)
    connection.Close();
    }

    }
    catch (Exception ex)
    {
    throw ex;
    }
    }

    #endregion
    }

    }