ASP.NET2.0网站开发(4)执行数据
在VS的开发环境中,可以有多种方式取得数据集,比如直接添加控件生成、在代码中灵活的使用SqlClient、或者比较麻烦的,就象我的这种取数据的方式,这种方式的优点在做小项目、一个人开发的时候有些麻烦,写的代码量最大,但如果是多人开发的大项目,就显示出了优点。
在对数据的操作过程中,我使用了自己封装的一个数据操作类,具体操作请参考微软提供的商店例子。操作时,将数据库的连接字符串放在Web.config中,根据需要你可以对connectionStrings节进行加密,这取决于你的需要。
<connectionStrings>
<add name="SQLConnectionString1" connectionString="Data Source=.;Initial Catalog=BOOKS;User ID=a;Password=a" providerName="System.Data.SqlClient"/>
<add name="SQLConnectionString2" connectionString=""/>
</connectionStrings>
因为功能简单,所有的方法我都放在了一个类中:
1
public class DALClass
2
{
3
public DALClass()
4
{
5
//
6
//TODO: 在此处添加构造函数逻辑
7
//
8
}
9
10
/// <summary>
11
/// 新增图书
12
/// </summary>
13
/// <param name="mc"></param>
14
public void Books_Insert(ModelClass mc)
15
{
16
SqlParameter[] sp = new SqlParameter[]{
17
new SqlParameter("@mc", SqlDbType.NVarChar, 20),
18
new SqlParameter("@cbs", SqlDbType.NVarChar, 60),
19
new SqlParameter("@dj", SqlDbType.Money),
20
new SqlParameter("@nrty", SqlDbType.NVarChar, 2000),
21
new SqlParameter("@tp", SqlDbType.Image)
22
};
23
sp[0].Value = mc.Mc;
24
sp[1].Value = mc.Cbs;
25
sp[2].Value = mc.Dj;
26
sp[3].Value = mc.Nrty;
27
sp[4].Value = mc.Tp;
28
29
SunnySoft.DBUtility35.SqlHelper.ExecuteNonQuery(SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1,
30
CommandType.StoredProcedure, "Books_AddValue", sp);
31
}
32
33
/// <summary>
34
/// 修改图书
35
/// </summary>
36
/// <param name="mc"></param>
37
public void Books_Update(ModelClass mc)
38
{
39
SqlParameter[] sp = new SqlParameter[]{
40
new SqlParameter("@id", SqlDbType.Int),
41
new SqlParameter("@mc", SqlDbType.NVarChar, 20),
42
new SqlParameter("@cbs", SqlDbType.NVarChar, 60),
43
new SqlParameter("@dj", SqlDbType.Money),
44
new SqlParameter("@nrty", SqlDbType.NVarChar, 2000),
45
new SqlParameter("@tp", SqlDbType.Image)
46
};
47
sp[0].Value = mc.Id;
48
sp[1].Value = mc.Mc;
49
sp[2].Value = mc.Cbs;
50
sp[3].Value = mc.Dj;
51
sp[4].Value = mc.Nrty;
52
sp[5].Value = mc.Tp;
53
54
SunnySoft.DBUtility35.SqlHelper.ExecuteNonQuery(SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1,
55
CommandType.StoredProcedure, "Books_Update", sp);
56
}
57
58
/// <summary>
59
/// 删除图书
60
/// </summary>
61
/// <param name="mc"></param>
62
public void Books_Delete(int id)
63
{
64
SqlParameter sp = new SqlParameter("@id", SqlDbType.Int);
65
sp.Value = id;
66
67
SunnySoft.DBUtility35.SqlHelper.ExecuteNonQuery(SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1,
68
CommandType.StoredProcedure, "Books_Delete", sp);
69
}
70
71
/// <summary>
72
/// 取图书单条记录
73
/// </summary>
74
/// <param name="id">条件ID</param>
75
/// <returns></returns>
76
public ModelClass Books_GetValue(int id)
77
{
78
ModelClass mc = null;
79
SqlParameter sp = new SqlParameter("@id", SqlDbType.Int);
80
sp.Value = id;
81
82
using (SqlDataReader rdr = SunnySoft.DBUtility35.SqlHelper.ExecuteReader(
83
SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1, CommandType.StoredProcedure,
84
"Books_GetValue", sp))
85
{
86
if (rdr.Read())
87
mc = new ModelClass(
88
rdr.GetInt32(0),
89
rdr.GetString(1),
90
rdr.IsDBNull(2) ? "" : rdr.GetString(2),
91
Convert.ToDouble(rdr.GetValue(3)),
92
rdr.IsDBNull(4) ? "" : rdr.GetString(4),
93
rdr.IsDBNull(5) ? new byte[]{} : (byte[])rdr.GetValue(5)
94
);
95
else
96
mc = new ModelClass();
97
}
98
return mc;
99
}
100
101
/// <summary>
102
/// 取图书数据
103
/// </summary>
104
/// <returns></returns>
105
public IList Books_GetValues()
106
{
107
IList list = new List<ModelClass>();
108
using (SqlDataReader rdr = SunnySoft.DBUtility35.SqlHelper.ExecuteReader(
109
SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1, CommandType.StoredProcedure,
110
"Books_GetValues"))
111
{
112
while (rdr.Read())
113
{
114
ModelClass mc = new ModelClass(
115
rdr.GetInt32(0),
116
rdr.GetString(1),
117
rdr.IsDBNull(2) ? "" : rdr.GetString(2),
118
Convert.ToDouble(rdr.GetValue(3)),
119
rdr.IsDBNull(4) ? "" : rdr.GetString(4),
120
new byte[]{}
121
);
122
list.Add(mc);
123
}
124
}
125
return list;
126
}
127
128
/// <summary>
129
/// 登录人员校验
130
/// </summary>
131
/// <param name="dlmc"></param>
132
/// <returns></returns>
133
public UserClass User_GetValue(string dlmc)
134
{
135
UserClass mc = null;
136
SqlParameter sp = new SqlParameter("@dlmc", SqlDbType.NVarChar, 20);
137
sp.Value = dlmc;
138
139
using (SqlDataReader rdr = SunnySoft.DBUtility35.SqlHelper.ExecuteReader(
140
SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1, CommandType.StoredProcedure,
141
"User_GetValue", sp))
142
{
143
if (rdr.Read())
144
mc = new UserClass(
145
rdr.GetInt32(0),
146
rdr.GetString(1),
147
rdr.GetString(2),
148
rdr.GetString(3)
149
);
150
else
151
mc = new UserClass();
152
}
153
return mc;
154
155
}
156
}
157
public class DALClass2
{3
public DALClass()4
{5
//6
//TODO: 在此处添加构造函数逻辑7
//8
}9

10
/// <summary>11
/// 新增图书12
/// </summary>13
/// <param name="mc"></param>14
public void Books_Insert(ModelClass mc)15
{16
SqlParameter[] sp = new SqlParameter[]{17
new SqlParameter("@mc", SqlDbType.NVarChar, 20),18
new SqlParameter("@cbs", SqlDbType.NVarChar, 60),19
new SqlParameter("@dj", SqlDbType.Money),20
new SqlParameter("@nrty", SqlDbType.NVarChar, 2000),21
new SqlParameter("@tp", SqlDbType.Image)22
};23
sp[0].Value = mc.Mc;24
sp[1].Value = mc.Cbs;25
sp[2].Value = mc.Dj;26
sp[3].Value = mc.Nrty;27
sp[4].Value = mc.Tp;28

29
SunnySoft.DBUtility35.SqlHelper.ExecuteNonQuery(SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1,30
CommandType.StoredProcedure, "Books_AddValue", sp);31
}32

33
/// <summary>34
/// 修改图书35
/// </summary>36
/// <param name="mc"></param>37
public void Books_Update(ModelClass mc)38
{39
SqlParameter[] sp = new SqlParameter[]{40
new SqlParameter("@id", SqlDbType.Int),41
new SqlParameter("@mc", SqlDbType.NVarChar, 20),42
new SqlParameter("@cbs", SqlDbType.NVarChar, 60),43
new SqlParameter("@dj", SqlDbType.Money),44
new SqlParameter("@nrty", SqlDbType.NVarChar, 2000),45
new SqlParameter("@tp", SqlDbType.Image)46
};47
sp[0].Value = mc.Id;48
sp[1].Value = mc.Mc;49
sp[2].Value = mc.Cbs;50
sp[3].Value = mc.Dj;51
sp[4].Value = mc.Nrty;52
sp[5].Value = mc.Tp;53

54
SunnySoft.DBUtility35.SqlHelper.ExecuteNonQuery(SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1,55
CommandType.StoredProcedure, "Books_Update", sp);56
}57

58
/// <summary>59
/// 删除图书60
/// </summary>61
/// <param name="mc"></param>62
public void Books_Delete(int id)63
{64
SqlParameter sp = new SqlParameter("@id", SqlDbType.Int);65
sp.Value = id;66

67
SunnySoft.DBUtility35.SqlHelper.ExecuteNonQuery(SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1,68
CommandType.StoredProcedure, "Books_Delete", sp);69
}70

71
/// <summary>72
/// 取图书单条记录73
/// </summary>74
/// <param name="id">条件ID</param>75
/// <returns></returns>76
public ModelClass Books_GetValue(int id)77
{78
ModelClass mc = null;79
SqlParameter sp = new SqlParameter("@id", SqlDbType.Int);80
sp.Value = id;81

82
using (SqlDataReader rdr = SunnySoft.DBUtility35.SqlHelper.ExecuteReader(83
SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1, CommandType.StoredProcedure,84
"Books_GetValue", sp))85
{86
if (rdr.Read())87
mc = new ModelClass(88
rdr.GetInt32(0),89
rdr.GetString(1),90
rdr.IsDBNull(2) ? "" : rdr.GetString(2),91
Convert.ToDouble(rdr.GetValue(3)),92
rdr.IsDBNull(4) ? "" : rdr.GetString(4),93
rdr.IsDBNull(5) ? new byte[]{} : (byte[])rdr.GetValue(5)94
);95
else96
mc = new ModelClass();97
}98
return mc;99
}100

101
/// <summary>102
/// 取图书数据103
/// </summary>104
/// <returns></returns>105
public IList Books_GetValues()106
{107
IList list = new List<ModelClass>();108
using (SqlDataReader rdr = SunnySoft.DBUtility35.SqlHelper.ExecuteReader(109
SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1, CommandType.StoredProcedure,110
"Books_GetValues"))111
{112
while (rdr.Read())113
{114
ModelClass mc = new ModelClass(115
rdr.GetInt32(0),116
rdr.GetString(1),117
rdr.IsDBNull(2) ? "" : rdr.GetString(2),118
Convert.ToDouble(rdr.GetValue(3)),119
rdr.IsDBNull(4) ? "" : rdr.GetString(4),120
new byte[]{}121
);122
list.Add(mc);123
}124
}125
return list;126
}127

128
/// <summary>129
/// 登录人员校验130
/// </summary>131
/// <param name="dlmc"></param>132
/// <returns></returns>133
public UserClass User_GetValue(string dlmc)134
{135
UserClass mc = null;136
SqlParameter sp = new SqlParameter("@dlmc", SqlDbType.NVarChar, 20);137
sp.Value = dlmc;138

139
using (SqlDataReader rdr = SunnySoft.DBUtility35.SqlHelper.ExecuteReader(140
SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1, CommandType.StoredProcedure,141
"User_GetValue", sp))142
{143
if (rdr.Read())144
mc = new UserClass(145
rdr.GetInt32(0),146
rdr.GetString(1),147
rdr.GetString(2),148
rdr.GetString(3)149
);150
else151
mc = new UserClass();152
}153
return mc;154

155
}156
}157

在此类的方法中,调用前面写的存储过程,返回相应的数据。方法写完后,可以使用NUnit或者VS提供的测试类,对方法进行测试。


浙公网安备 33010602011771号