1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Web;
5
using System.Web.Security;
6
using System.Web.UI;
7
using System.Web.UI.WebControls;
8
using System.Web.UI.WebControls.WebParts;
9
using System.Web.UI.HtmlControls;
10
//该源码下载自www.51aspx.com(51aspx.com)
11
12
using System.Data.SqlClient;
13
14
/**//// <summary>
15
/// DataBase 的摘要说明
16
/// </summary>
17
public class DataBase:IDisposable
18
...{
19
public DataBase()
20
...{
21
//
22
// TODO: 在此处添加构造函数逻辑
23
//
24
}
25
26
private SqlConnection con; //创建连接对象
27
打开数据库连接#region 打开数据库连接
28
/**//// <summary>
29
/// 打开数据库连接.
30
/// </summary>
31
private void Open()
32
...{
33
// 打开数据库连接
34
if (con == null)
35
...{
36
con = new SqlConnection("Data Source=.\\Sql2005;DataBase=db_SIS;User ID=sa;PWD=sa");
37
}
38
if (con.State == System.Data.ConnectionState.Closed)
39
con.Open();
40
41
}
42
#endregion
43
44
关闭连接#region 关闭连接
45
/**//// <summary>
46
/// 关闭数据库连接
47
/// </summary>
48
public void Close()
49
...{
50
if (con != null)
51
con.Close();
52
}
53
#endregion
54
55
释放数据库连接资源#region 释放数据库连接资源
56
/**//// <summary>
57
/// 释放资源
58
/// </summary>
59
public void Dispose()
60
...{
61
// 确认连接是否已经关闭
62
if (con != null)
63
...{
64
con.Dispose();
65
con = null;
66
}
67
}
68
#endregion
69
70
传入参数并且转换为SqlParameter类型#region 传入参数并且转换为SqlParameter类型
71
/**//// <summary>
72
/// 转换参数
73
/// </summary>
74
/// <param name="ParamName">存储过程名称或命令文本</param>
75
/// <param name="DbType">参数类型</param>
76
/// <param name="Size">参数大小</param>
77
/// <param name="Value">参数值</param>
78
/// <returns>新的Parameter对象</returns>
79
public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value)
80
...{
81
return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
82
}
83
84
/**//// <summary>
85
/// 初始化参数值
86
/// </summary>
87
/// <param name="ParamName">存储过程名称或命令文本</param>
88
/// <param name="DbType">参数类型</param>
89
/// <param name="Size">参数大小</param>
90
/// <param name="Direction">参数方向</param>
91
/// <param name="Value">参数值</param>
92
/// <returns>新的 parameter 对象</returns>
93
public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
94
...{
95
SqlParameter param;
96
97
if (Size > 0)
98
param = new SqlParameter(ParamName, DbType, Size);
99
else
100
param = new SqlParameter(ParamName, DbType);
101
102
param.Direction = Direction;
103
if (!(Direction == ParameterDirection.Output && Value == null))
104
param.Value = Value;
105
return param;
106
}
107
#endregion
108
109
执行参数命令文本(无数据库中数据返回)#region 执行参数命令文本(无数据库中数据返回)
110
/**//// <summary>
111
/// 执行命令
112
/// </summary>
113
/// <param name="procName">命令文本</param>
114
/// <param name="prams">参数对象</param>
115
/// <returns></returns>
116
public int RunProc(string procName, SqlParameter[] prams)
117
...{
118
SqlCommand cmd = CreateCommand(procName, prams);
119
cmd.ExecuteNonQuery();
120
this.Close();
121
//得到执行成功返回值
122
return (int)cmd.Parameters["ReturnValue"].Value;
123
}
124
/**//// <summary>
125
/// 直接执行SQL语句
126
/// </summary>
127
/// <param name="procName">命令文本</param>
128
/// <returns></returns>
129
public int RunProc(string procName)
130
...{
131
this.Open();
132
SqlCommand cmd = new SqlCommand(procName, con);
133
cmd.ExecuteNonQuery();
134
this.Close();
135
return 1;
136
}
137
138
#endregion
139
140
执行参数命令文本(有返回值)#region 执行参数命令文本(有返回值)
141
/**//// <summary>
142
/// 执行查询命令文本,并且返回DataSet数据集
143
/// </summary>
144
/// <param name="procName">命令文本</param>
145
/// <param name="prams">参数对象</param>
146
/// <param name="tbName">数据表名称</param>
147
/// <returns></returns>
148
public DataSet RunProcReturn(string procName, SqlParameter[] prams, string tbName)
149
...{
150
SqlDataAdapter dap = CreateDataAdaper(procName, prams);
151
DataSet ds = new DataSet();
152
dap.Fill(ds, tbName);
153
this.Close();
154
//得到执行成功返回值
155
return ds;
156
}
157
158
/**//// <summary>
159
/// 执行命令文本,并且返回DataSet数据集
160
/// </summary>
161
/// <param name="procName">命令文本</param>
162
/// <param name="tbName">数据表名称</param>
163
/// <returns>DataSet</returns>
164
public DataSet RunProcReturn(string procName, string tbName)
165
...{
166
SqlDataAdapter dap = CreateDataAdaper(procName, null);
167
DataSet ds = new DataSet();
168
dap.Fill(ds, tbName);
169
this.Close();
170
//得到执行成功返回值
171
return ds;
172
}
173
174
#endregion
175
176
将命令文本添加到SqlDataAdapter#region 将命令文本添加到SqlDataAdapter
177
/**//// <summary>
178
/// 创建一个SqlDataAdapter对象以此来执行命令文本
179
/// </summary>
180
/// <param name="procName">命令文本</param>
181
/// <param name="prams">参数对象</param>
182
/// <returns></returns>
183
private SqlDataAdapter CreateDataAdaper(string procName, SqlParameter[] prams)
184
...{
185
this.Open();
186
SqlDataAdapter dap = new SqlDataAdapter(procName, con);
187
dap.SelectCommand.CommandType = CommandType.Text; //执行类型:命令文本
188
if (prams != null)
189
...{
190
foreach (SqlParameter parameter in prams)
191
dap.SelectCommand.Parameters.Add(parameter);
192
}
193
//加入返回参数
194
dap.SelectCommand.Parameters.Add(new SqlParameter("ReturnValue", SqlDbType.Int, 4,
195
ParameterDirection.ReturnValue, false, 0, 0,
196
string.Empty, DataRowVersion.Default, null));
197
198
return dap;
199
}
200
#endregion
201
202
将命令文本添加到SqlCommand#region 将命令文本添加到SqlCommand
203
/**//// <summary>
204
/// 创建一个SqlCommand对象以此来执行命令文本
205
/// </summary>
206
/// <param name="procName">命令文本</param>
207
/// <param name="prams"命令文本所需参数</param>
208
/// <returns>返回SqlCommand对象</returns>
209
private SqlCommand CreateCommand(string procName, SqlParameter[] prams)
210
...{
211
// 确认打开连接
212
this.Open();
213
SqlCommand cmd = new SqlCommand(procName, con);
214
cmd.CommandType = CommandType.Text; //执行类型:命令文本
215
216
// 依次把参数传入命令文本
217
if (prams != null)
218
...{
219
foreach (SqlParameter parameter in prams)
220
cmd.Parameters.Add(parameter);
221
}
222
// 加入返回参数
223
cmd.Parameters.Add(
224
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
225
ParameterDirection.ReturnValue, false, 0, 0,
226
string.Empty, DataRowVersion.Default, null));
227
228
return cmd;
229
}
230
#endregion
231
232
}
233