-
-
Save JPGITHUB1519/cabf06a437d4fa5171bc6b6ee7042b23 to your computer and use it in GitHub Desktop.
DB Helper Class in C#
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 = ""; | |
#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 | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment