Guest User

Untitled

a guest
Jun 20th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.SqlClient;
  5. using ClosedXML.Excel;
  6. using DataEntryDAL;
  7.  
  8. namespace DataEntryDAL.DAO
  9. {
  10. public class ReportDAO
  11. {
  12. static SqlConnection myConn = null;
  13.  
  14. public static SqlConnection MyConn { get => myConn; set => myConn = value; }
  15.  
  16. public static void OpenConnection()
  17. {
  18. try
  19. {
  20. string connString = $"Data Source={Global.dataSource};Initial Catalog={Global.dbName};User id={Global.sqlID};Password={Global.sqlPassword}";
  21. MyConn = new SqlConnection(connString);
  22. MyConn.Open();
  23. }
  24. catch (Exception)
  25. {
  26. throw;
  27. }
  28. }
  29.  
  30. internal static DataTable RunStoredProcedure(string storedProcedureName, string tableName, Dictionary<string, string> spParams)
  31. {
  32. DataTable ret = new DataTable(tableName);
  33. SqlCommand sc;
  34. OpenConnection();
  35.  
  36. sc = new SqlCommand(storedProcedureName, MyConn)
  37. {
  38. CommandTimeout = 180,
  39. CommandType = CommandType.StoredProcedure
  40. };
  41.  
  42. foreach (var item in spParams)
  43. {
  44. sc.Parameters.AddWithValue(item.Key, item.Value);
  45. }
  46.  
  47. var returnParameter = sc.Parameters.Add("@ReturnVal", SqlDbType.Int);
  48. returnParameter.Direction = ParameterDirection.ReturnValue;
  49. SqlDataAdapter da = new SqlDataAdapter(sc);
  50. da.Fill(ret);
  51. CloseConnection();
  52.  
  53. return ret;
  54. }
  55.  
  56. public static void CloseConnection()
  57. {
  58. try
  59. {
  60. MyConn.Close();
  61. }
  62. catch (Exception)
  63. {
  64. throw;
  65. }
  66. }
  67.  
  68. /// <summary>
  69. /// Gọi dậy 1 câu StoredProcedure có 1 tham số với paramName và paramValue, trả về 1 DataTable có TableName là tableName
  70. /// </summary>
  71. /// <param name="storedProcedureName">tên của Stored Procedure</param>
  72. /// <param name="tableName">tên DataTable lấy về</param>
  73. /// <param name="paramName">tên tham số của Stored Procedure</param>
  74. /// <param name="paramValue">giá trị truyền vào Stored Procedure</param>
  75. /// <returns></returns>
  76. public static DataTable RunSP(string storedProcedureName, string tableName, string paramName = "", string paramValue = "")
  77. {
  78. DataTable ret = new DataTable(tableName);
  79.  
  80. SqlCommand sc;
  81.  
  82. OpenConnection();
  83.  
  84. sc = new SqlCommand(storedProcedureName, MyConn)
  85. {
  86. CommandTimeout = 180,
  87. CommandType = CommandType.StoredProcedure
  88. };
  89.  
  90. if (!String.IsNullOrEmpty(paramName))
  91. {
  92. sc.Parameters.AddWithValue(paramName, paramValue);
  93. }
  94. var returnParameter = sc.Parameters.Add("@ReturnVal", SqlDbType.Int);
  95. returnParameter.Direction = ParameterDirection.ReturnValue;
  96. SqlDataAdapter da = new SqlDataAdapter(sc);
  97. da.Fill(ret);
  98.  
  99. CloseConnection();
  100.  
  101. return ret;
  102. }
  103.  
  104. public static DataTable RunStoredProcedure(string storeProcedureName
  105. , Dictionary<string, string> parameters , string tableName)
  106. {
  107. DataTable ret = new DataTable(tableName);
  108. SqlCommand sc;
  109. OpenConnection();
  110.  
  111. sc = new SqlCommand(storeProcedureName, MyConn)
  112. {
  113. CommandTimeout = 180,
  114. CommandType = CommandType.StoredProcedure
  115. };
  116.  
  117. foreach (KeyValuePair<string, string> entry in parameters)
  118. {
  119. sc.Parameters.AddWithValue(entry.Key, entry.Value);
  120. }
  121.  
  122. var returnParameter = sc.Parameters.Add("@ReturnVal", SqlDbType.Int);
  123. returnParameter.Direction = ParameterDirection.ReturnValue;
  124. SqlDataAdapter da = new SqlDataAdapter(sc);
  125. da.Fill(ret);
  126. CloseConnection();
  127. return ret;
  128. }
  129.  
  130. public static DataTable RunSelect(string sql, string tableName)
  131. {
  132. DataTable ret = new DataTable(tableName);
  133.  
  134. OpenConnection();
  135. SqlDataAdapter da = new SqlDataAdapter(sql, myConn);
  136. da.Fill(ret);
  137. return ret;
  138. }
  139. }
  140. }
Add Comment
Please, Sign In to add comment