You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

234 lines
5.7 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Configuration;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Linq;
  7. using System.Text;
  8. namespace Swift.DAL.BL.Helper.ThirdParty
  9. {
  10. public class Dao
  11. {
  12. SqlConnection _connection;
  13. public Dao()
  14. {
  15. Init();
  16. }
  17. private void Init()
  18. {
  19. _connection = new SqlConnection(GetConnectionString());
  20. }
  21. private void OpenConnection()
  22. {
  23. if (_connection.State == ConnectionState.Open)
  24. _connection.Close();
  25. _connection.Open();
  26. }
  27. private void CloseConnection()
  28. {
  29. if (_connection.State == ConnectionState.Open)
  30. this._connection.Close();
  31. }
  32. private string GetConnectionString()
  33. {
  34. return ConfigurationSettings.AppSettings["RemittanceString"].ToString();
  35. //return ConfigurationSettings.AppSettings["connectionString"].ToString();
  36. }
  37. public DataSet ExecuteDataset(string sql)
  38. {
  39. var ds = new DataSet();
  40. SqlDataAdapter da;
  41. try
  42. {
  43. OpenConnection();
  44. da = new SqlDataAdapter(sql, _connection);
  45. da.Fill(ds);
  46. da.Dispose();
  47. CloseConnection();
  48. }
  49. catch (Exception ex)
  50. {
  51. throw ex;
  52. }
  53. finally
  54. {
  55. da = null;
  56. CloseConnection();
  57. }
  58. return ds;
  59. }
  60. public DataTable ExecuteDataTable(string sql)
  61. {
  62. using (var ds = ExecuteDataset(sql))
  63. {
  64. if (ds == null || ds.Tables.Count == 0)
  65. return null;
  66. return ds.Tables[0];
  67. }
  68. }
  69. public DataRow ExecuteDataRow(string sql)
  70. {
  71. using (var ds = ExecuteDataset(sql))
  72. {
  73. if (ds == null || ds.Tables.Count == 0)
  74. return null;
  75. if (ds.Tables[0].Rows.Count == 0)
  76. return null;
  77. return ds.Tables[0].Rows[0];
  78. }
  79. }
  80. public String GetSingleResult(string sql)
  81. {
  82. try
  83. {
  84. var ds = ExecuteDataset(sql);
  85. if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
  86. return "";
  87. return ds.Tables[0].Rows[0][0].ToString();
  88. }
  89. catch (Exception ex)
  90. {
  91. throw ex;
  92. }
  93. finally
  94. {
  95. CloseConnection();
  96. }
  97. }
  98. public String FilterString(string strVal)
  99. {
  100. var str = FilterQuote(strVal);
  101. if (str.ToLower() != "null")
  102. str = "'" + str + "'";
  103. return str;
  104. }
  105. public String FilterQuote(string strVal)
  106. {
  107. if (string.IsNullOrEmpty(strVal))
  108. {
  109. strVal = "";
  110. }
  111. var str = strVal.Trim();
  112. if (!string.IsNullOrEmpty(str))
  113. {
  114. str = str.Replace(";", "");
  115. //str = str.Replace(",", "");
  116. str = str.Replace("--", "");
  117. str = str.Replace("'", "");
  118. str = str.Replace("/*", "");
  119. str = str.Replace("*/", "");
  120. str = str.Replace(" select ", "");
  121. str = str.Replace(" insert ", "");
  122. str = str.Replace(" update ", "");
  123. str = str.Replace(" delete ", "");
  124. str = str.Replace(" drop ", "");
  125. str = str.Replace(" truncate ", "");
  126. str = str.Replace(" create ", "");
  127. str = str.Replace(" begin ", "");
  128. str = str.Replace(" end ", "");
  129. str = str.Replace(" char(", "");
  130. str = str.Replace(" exec ", "");
  131. str = str.Replace(" xp_cmd ", "");
  132. str = str.Replace("<script", "");
  133. }
  134. else
  135. {
  136. str = "null";
  137. }
  138. return str;
  139. }
  140. public string SingleQuoteToDoubleQuote(string strVal)
  141. {
  142. strVal = strVal.Replace("\"", "");
  143. return strVal.Replace("'", "\"");
  144. }
  145. public ApiResult ParseDbResult(DataTable dt)
  146. {
  147. var res = new ApiResult();
  148. if (dt.Rows.Count > 0)
  149. {
  150. res.ErrorCode = dt.Rows[0][0].ToString();
  151. res.Msg = dt.Rows[0][1].ToString();
  152. res.Id = dt.Rows[0][2].ToString();
  153. }
  154. return res;
  155. }
  156. public ApiResult ParseDbResult(string sql)
  157. {
  158. return ParseDbResult(ExecuteDataset(sql).Tables[0]);
  159. }
  160. }
  161. public class ApiResult
  162. {
  163. private string _errorCode = "1";
  164. private string _msg = "Error";
  165. private string _id = "0";
  166. public ApiResult() { }
  167. public string ErrorCode
  168. {
  169. set { _errorCode = value; }
  170. get { return _errorCode; }
  171. }
  172. public string Msg
  173. {
  174. set { _msg = value; }
  175. get { return _msg; }
  176. }
  177. public string Id
  178. {
  179. set { _id = value; }
  180. get { return _id; }
  181. }
  182. public string Extra { get; set; }
  183. public string Extra2 { get; set; }
  184. public void SetError(string errorCode, string msg, string id)
  185. {
  186. ErrorCode = errorCode;
  187. Msg = msg;
  188. Id = id;
  189. }
  190. }
  191. }