Advertisement
Guest User

Untitled

a guest
May 26th, 2015
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.50 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Data;
  6. using System.Data.SqlClient;
  7. using System.Collections.Generic;
  8. using System.Collections.Specialized;
  9.  
  10. namespace Helpers
  11. {
  12. public static class DBHelper
  13. {
  14. #if DEBUG
  15. private static string defaultConnectionString = "Data Source=localhost;Initial Catalog=GLOBOBH_MapaAntenas;Integrated Security=SSPI";
  16. #else
  17. private static string defaultConnectionString = "";
  18. #endif
  19. public static string DefaultConnectionString {
  20. get {
  21. return defaultConnectionString;
  22. }
  23. }
  24.  
  25. public static DataTable ExecuteProcedure(string PROC_NAME, params object[] parameters)
  26. {
  27. try
  28. {
  29. if (parameters.Length % 2 != 0)
  30. throw new ArgumentException("Wrong number of parameters sent to procedure. Expected an even number.");
  31. DataTable a = new DataTable();
  32. List<SqlParameter> filters = new List<SqlParameter>();
  33.  
  34. string query = "EXEC " + PROC_NAME;
  35.  
  36. bool first = true;
  37. for (int i = 0; i < parameters.Length; i += 2)
  38. {
  39. filters.Add(new SqlParameter(parameters[i] as string, parameters[i + 1]));
  40. query += (first ? " " : ", ") + ((string)parameters[i]);
  41. first = false;
  42. }
  43.  
  44. a = Query(query, filters);
  45. return a;
  46. }
  47. catch (Exception ex)
  48. {
  49. throw ex;
  50. }
  51. }
  52.  
  53. public static DataTable ExecuteQuery(string query, params object[] parameters)
  54. {
  55. try
  56. {
  57. if (parameters.Length % 2 != 0)
  58. throw new ArgumentException("Wrong number of parameters sent to procedure. Expected an even number.");
  59. DataTable a = new DataTable();
  60. List<SqlParameter> filters = new List<SqlParameter>();
  61.  
  62. for (int i = 0; i < parameters.Length; i += 2)
  63. filters.Add(new SqlParameter(parameters[i] as string, parameters[i + 1]));
  64.  
  65. a = Query(query, filters);
  66. return a;
  67. }
  68. catch (Exception ex)
  69. {
  70. throw ex;
  71. }
  72. }
  73.  
  74. public static int ExecuteNonQuery(string query, params object[] parameters)
  75. {
  76. try
  77. {
  78. if (parameters.Length % 2 != 0)
  79. throw new ArgumentException("Wrong number of parameters sent to procedure. Expected an even number.");
  80. List<SqlParameter> filters = new List<SqlParameter>();
  81.  
  82. for (int i = 0; i < parameters.Length; i += 2)
  83. filters.Add(new SqlParameter(parameters[i] as string, parameters[i + 1]));
  84. return NonQuery(query, filters);
  85. }
  86. catch (Exception ex)
  87. {
  88. throw ex;
  89. }
  90. }
  91.  
  92. public static object ExecuteScalar(string query, params object[] parameters)
  93. {
  94. try
  95. {
  96. if (parameters.Length % 2 != 0)
  97. throw new ArgumentException("Wrong number of parameters sent to query. Expected an even number.");
  98. List<SqlParameter> filters = new List<SqlParameter>();
  99.  
  100. for (int i = 0; i < parameters.Length; i += 2)
  101. filters.Add(new SqlParameter(parameters[i] as string, parameters[i + 1]));
  102. return Scalar(query, filters);
  103. }
  104. catch (Exception ex)
  105. {
  106. throw ex;
  107. }
  108. }
  109.  
  110. #region Private Methods
  111.  
  112. private static DataTable Query(String consulta, IList<SqlParameter> parametros)
  113. {
  114. try
  115. {
  116. DataTable dt = new DataTable();
  117. SqlConnection connection = new SqlConnection(defaultConnectionString);
  118. SqlCommand command = new SqlCommand();
  119. SqlDataAdapter da;
  120. try
  121. {
  122. command.Connection = connection;
  123. command.CommandText = consulta;
  124. if (parametros != null)
  125. {
  126. command.Parameters.AddRange(parametros.ToArray());
  127. }
  128. da = new SqlDataAdapter(command);
  129. da.Fill(dt);
  130. }
  131. finally
  132. {
  133. if (connection != null)
  134. connection.Close();
  135. }
  136. return dt;
  137. }
  138. catch (Exception)
  139. {
  140. throw;
  141. }
  142.  
  143. }
  144.  
  145. private static int NonQuery(string query, IList<SqlParameter> parametros)
  146. {
  147. try
  148. {
  149. DataSet dt = new DataSet();
  150. SqlConnection connection = new SqlConnection(defaultConnectionString);
  151. SqlCommand command = new SqlCommand();
  152.  
  153. try
  154. {
  155. connection.Open();
  156. command.Connection = connection;
  157. command.CommandText = query;
  158. command.Parameters.AddRange(parametros.ToArray());
  159. return command.ExecuteNonQuery();
  160.  
  161. }
  162. finally
  163. {
  164. if (connection != null)
  165. connection.Close();
  166. }
  167.  
  168. }
  169. catch (Exception ex)
  170. {
  171. throw ex;
  172. }
  173. }
  174.  
  175. private static object Scalar(string query, List<SqlParameter> parametros)
  176. {
  177. try
  178. {
  179. DataSet dt = new DataSet();
  180. SqlConnection connection = new SqlConnection(defaultConnectionString);
  181. SqlCommand command = new SqlCommand();
  182.  
  183. try
  184. {
  185. connection.Open();
  186. command.Connection = connection;
  187. command.CommandText = query;
  188. command.Parameters.AddRange(parametros.ToArray());
  189. return command.ExecuteScalar();
  190.  
  191. }
  192. finally
  193. {
  194. if (connection != null)
  195. connection.Close();
  196. }
  197.  
  198. }
  199. catch (Exception ex)
  200. {
  201. throw ex;
  202. }
  203. }
  204.  
  205. #endregion
  206. }
  207.  
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement