AccessDb.cs
上传用户:autodoor
上传日期:2022-08-04
资源大小:9973k
文件大小:6k
源码类别:

.net编程

开发平台:

Others

  1. using System;
  2. using System.Data;
  3. using System.Data.SqlClient;
  4. namespace qminoa.DA
  5. {
  6. /// <summary>
  7. /// AccessDB.cs 定义数据库访问的各种方法
  8. /// 
  9. /// Author: Sun Qiang
  10. /// </summary>
  11. public class AccessDb
  12. {
  13. //各种数据类型、对象声明
  14. protected SqlDataAdapter sqlDataAdapter;
  15. protected SqlCommand sqlCommand;
  16. protected SqlConnection sqlConnection;
  17. protected SqlDataReader sqlDataReader;
  18. protected DataSet dataSet;
  19. protected DataView dataView;
  20. //数据库连接字符串
  21. string connString = System.Configuration.ConfigurationSettings.AppSettings.Get("ConnectionString");
  22.         
  23. public AccessDb()
  24. {
  25. //构造函数 功能:打开数据库连接
  26. sqlDataAdapter = new SqlDataAdapter();
  27. sqlDataAdapter.SelectCommand = new SqlCommand();
  28. sqlDataAdapter.SelectCommand.Connection = new SqlConnection(connString);
  29. sqlDataAdapter.SelectCommand.Connection.Open();
  30. }//End 构造函数
  31. //简单的登录数据库处理过程 只需要输入用户名即可
  32. public DataSet Login(string loginUsername, string loginPassword)
  33. {
  34. //执行存储过程 cpSempleLogin
  35. sqlDataAdapter.SelectCommand.CommandText = "cpSempleLogin";
  36. sqlDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
  37. sqlDataAdapter.SelectCommand.Parameters.Add("@LoginID",SqlDbType.VarChar,16);
  38. sqlDataAdapter.SelectCommand.Parameters["@LoginID"].Value = loginUsername;
  39. dataSet = new DataSet();
  40. sqlDataAdapter.Fill(dataSet);
  41. sqlDataAdapter.SelectCommand.Connection.Close();
  42. return dataSet;
  43. }//End Login函数
  44. //接收存储过程名
  45. public void SendStoredProcedure(string storedProcedureName)
  46. {
  47. sqlDataAdapter.SelectCommand.Parameters.Clear();
  48. sqlDataAdapter.SelectCommand.CommandText = storedProcedureName;
  49. sqlDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
  50. }
  51. //接收存储过程参数名、参数名类型、参数值 参数值类型重载(int paraValue)
  52. public void SendStoredProcedureParameters(string paraName, SqlDbType paraType, int paraValue)
  53. {
  54. sqlDataAdapter.SelectCommand.Parameters.Add(paraName, paraType);
  55. sqlDataAdapter.SelectCommand.Parameters[paraName].Value = paraValue;
  56. }
  57. //接收存储过程参数名、参数名类型、参数值 参数值类型重载(string paraValue)
  58. public void SendStoredProcedureParameters(string paraName, SqlDbType paraType, string paraValue)
  59. {
  60. sqlDataAdapter.SelectCommand.Parameters.Add(paraName, paraType);
  61. sqlDataAdapter.SelectCommand.Parameters[paraName].Value = paraValue;
  62. }
  63. //接收存储过程参数名、参数名类型、参数值 参数值类型重载(bool paraValue)
  64. public void SendStoredProcedureParameters(string paraName, SqlDbType paraType, bool paraValue)
  65. {
  66. sqlDataAdapter.SelectCommand.Parameters.Add(paraName, paraType);
  67. sqlDataAdapter.SelectCommand.Parameters[paraName].Value = paraValue;
  68. }
  69. //接收存储过程参数名、参数名类型、参数值 参数值类型重载(byte paraValue)
  70. public void SendStoredProcedureParameters(string paraName, SqlDbType paraType, byte paraValue)
  71. {
  72. sqlDataAdapter.SelectCommand.Parameters.Add(paraName, paraType);
  73. sqlDataAdapter.SelectCommand.Parameters[paraName].Value = paraValue;
  74. }
  75. //接收存储过程参数名、参数名类型、参数值 参数值类型重载(char paraValue)
  76. public void SendStoredProcedureParameters(string paraName, SqlDbType paraType, char paraValue)
  77. {
  78. sqlDataAdapter.SelectCommand.Parameters.Add(paraName, paraType);
  79. sqlDataAdapter.SelectCommand.Parameters[paraName].Value = paraValue;
  80. }
  81. //接收存储过程参数名、参数名类型、参数值 参数值类型重载(object paraValue)
  82. public void SendStoredProcedureParameters(string paraName, SqlDbType paraType, object paraValue)
  83. {
  84. sqlDataAdapter.SelectCommand.Parameters.Add(paraName, paraType);
  85. sqlDataAdapter.SelectCommand.Parameters[paraName].Value = paraValue;
  86. }
  87. //执行Sql语句或者存储过程,但不需返回值
  88. public void ExecuteNoReturn()
  89. {
  90. sqlDataAdapter.SelectCommand.ExecuteNonQuery();
  91. }
  92. public void ExecuteReader()
  93. {
  94. sqlDataAdapter.SelectCommand.ExecuteReader();
  95. //sqlDataAdapter.UpdateCommand = "";
  96. //sqlDataAdapter.UpdateCommand.
  97. }
  98. //返回DataSet类型对象
  99. public DataSet ReturnDataSetResult()
  100. {
  101. dataSet = new DataSet();
  102. sqlDataAdapter.Fill(dataSet);
  103. return dataSet;
  104. }
  105. //重载ReturnDataSetResult()
  106. //返回DataSet类型对象到指定表中
  107. public DataSet ReturnDataSetResult(string tableName)
  108. {
  109. sqlDataAdapter.Fill(dataSet, tableName);
  110. return dataSet;
  111. }
  112. //返回DataView类型引用
  113. public DataView ReturnDataViewResult()
  114. {
  115. ReturnDataSetResult();
  116. dataView = dataSet.Tables[0].DefaultView;
  117. return dataView;
  118. }
  119. //返回SqlDataReader类型引用
  120. public SqlDataReader ReturnSqlDataReaderResult()
  121. {
  122. //sqlDataReader = new SqlDataReader();
  123.             sqlDataReader = sqlDataAdapter.SelectCommand.ExecuteReader();
  124. return sqlDataReader;
  125. }
  126. //执行SQL语句并返回SqlDataReader类型对象
  127. public SqlDataReader ExecuteSql(string sql)
  128. {
  129. sqlCommand = new SqlCommand();
  130. sqlCommand.Connection = new SqlConnection(connString);
  131. sqlCommand.CommandText = sql;
  132. sqlDataReader = sqlCommand.ExecuteReader();
  133. return sqlDataReader;
  134. }
  135. //关闭数据库连接
  136. public void CloseConnection()
  137. {
  138. sqlConnection.Close();
  139. }
  140. public void ClearParameters()
  141. {
  142. sqlDataAdapter.SelectCommand.Parameters.Clear();
  143. }
  144. // public void SendStoredProcedureParameters(string paraName, SqlDbType paraType, int paraSize)
  145. // {
  146. // sqlDataAdapter.SelectCommand.Parameters.Add(paraName, paraType, paraSize);
  147. // }
  148. //
  149. // public void SendStoredProcedureParameters(string paraName, SqlDbType paraType, int paraSize, string paraSourceColumn)
  150. // {
  151. // sqlDataAdapter.SelectCommand.Parameters.Add(paraName, paraType, paraSize, paraSourceColumn);
  152. // }
  153. }
  154. }