4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(3)
作者:夏春涛 xchunta@163.com
转载请注明来源: http://www.cnblogs.com/SummerRain/archive/2012/07/25/2609144.html
4.4 数据访问层HomeShop.DAL
OrderDAO.cs
1
using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 // 新添命名空间
6 using System.Data;
7 using System.Data.SqlClient;
8 using HomeShop.DbUtility;
9 using HomeShop.Model;
10
11 namespace HomeShop.DAL
12 {
13 public class OrderDAO
14 {
15 protected SqlDbHelper dbHelper;
16
17 public OrderDAO()
18 {
19 this.dbHelper = new SqlDbHelper();
20 }
21
22 public OrderDAO( string connectionString)
23 {
24 this.dbHelper = new SqlDbHelper(connectionString);
25 }
26
27 // 添加
28 public int Add(Order order)
29 {
30 int rowsCountAffected = 0;
31 SqlTransaction trans = dbHelper.BeginTransaction();
32 try
33 {
34 // 新增订单基本信息,并使用SQL的系统函数@@IDENTITY获取新增订单的ID
35 string sql = @" INSERT INTO [Order]([OrderTime],
36 [OrderStateCode],
37 [CustomerName],
38 [CustomerPhoneNo],
39 [CustomerAddress])
40 VALUES(@OrderTime,
41 @OrderStateCode,
42 @CustomerName,
43 @CustomerPhoneNo,
44 @CustomerAddress)
45 SET @OrderID = @@IDENTITY ";
46 // @OrderID作为传出参数,用于获取新增订单的ID
47 SqlParameter paramOrderID = new SqlParameter( " @OrderID ", SqlDbType.Int);
48 paramOrderID.Direction = ParameterDirection.Output;
49 SqlParameter[] parameters = {
50 new SqlParameter( " @OrderTime ", order.OrderTime),
51 new SqlParameter( " @OrderStateCode ", order.OrderStateCode),
52 new SqlParameter( " @CustomerName ", order.CustomerName),
53 new SqlParameter( " @CustomerPhoneNo ", order.CustomerPhoneNo),
54 new SqlParameter( " @CustomerAddress ", order.CustomerAddress),
55 paramOrderID};
56 rowsCountAffected += dbHelper.ExecuteNonQueryTrans(trans, sql, parameters);
57 order.OrderID = ( int)paramOrderID.Value;
58 // -----------------------------------------------------------
59 // 循环添加订购商品信息
60 for ( int i = 0; i < order.OrderItems.Count; i++)
61 {
62 string sqlX = @" INSERT INTO [OrderItem]([OrderID],
63 [Product],
64 [UnitPrice],
65 [Quantity])
66 VALUES( @OrderID,
67 @Product,
68 @UnitPrice,
69 @Quantity) ";
70 SqlParameter[] parametersX = {
71 new SqlParameter( " @OrderID ", order.OrderID),
72 new SqlParameter( " @Product ", order.OrderItems[i].Product),
73 new SqlParameter( " @UnitPrice ", order.OrderItems[i].UnitPrice),
74 new SqlParameter( " @Quantity ", order.OrderItems[i].Quantity)};
75 rowsCountAffected += dbHelper.ExecuteNonQueryTrans(trans, sqlX, parametersX);
76 }
77 trans.Commit(); // 提交数据库事务
78 }
79 catch
80 {
81 trans.Rollback(); // 回滚数据库事务
82 throw;
83 }
84 dbHelper.Close();
85
86 return rowsCountAffected;
87 }
88
89 // 修改
90 public int Update(Order order)
91 {
92 int rowsCountAffected = 0;
93
94 List<SqlCmdTextAndParams> listCmdTextAndParams = new List<SqlCmdTextAndParams>();
95 // 修改订单基本信息
96 string sql = @" UPDATE [Order]
97 SET [OrderTime] = @OrderTime,
98 [OrderStateCode] = @OrderStateCode,
99 [CustomerName] = @CustomerName,
100 [CustomerPhoneNo] = @CustomerPhoneNo,
101 [CustomerAddress] = @CustomerAddress
102 WHERE [OrderID] = @OrderID ";
103 SqlParameter[] parameters = {
104 new SqlParameter( " @OrderTime ", order.OrderTime),
105 new SqlParameter( " @OrderStateCode ", order.OrderStateCode),
106 new SqlParameter( " @CustomerName ", order.CustomerName),
107 new SqlParameter( " @CustomerPhoneNo ", order.CustomerPhoneNo),
108 new SqlParameter( " @CustomerAddress ", order.CustomerAddress),
109 new SqlParameter( " @OrderID ", order.OrderID)};
110 listCmdTextAndParams.Add( new SqlCmdTextAndParams(sql, parameters));
111 // -----------------------------------------------------------
112 // 循环将订购商品信息列表同步更新到数据库中
113 // 删除
114 Order originalOrder = this.GetSingle(order.OrderID);
115 for( int i= 0;i<originalOrder.OrderItems.Count;i++)
116 {
117 bool exists = order.OrderItems.Exists(
118 delegate(OrderItem item){ return (item.OrderItemID == originalOrder.OrderItems[i].OrderItemID);});
119 if (exists) continue;
120
121 string sqlX = @" DELETE FROM [OrderItem]
122 WHERE [OrderItemID] = @OrderItemID ";
123 SqlParameter[] parametersX = {
124 new SqlParameter( " @OrderItemID ", originalOrder.OrderItems[i].OrderItemID)};
125 listCmdTextAndParams.Add( new SqlCmdTextAndParams(sqlX, parametersX));
126 }
127 // 新增/修改
128 OrderItemDAO orderItemDAO = new OrderItemDAO();
129 for ( int i = 0; i < order.OrderItems.Count; i++)
130 {
131 if ( 0 >= order.OrderItems[i].OrderItemID ) // 新增
132 {
133 string sqlX = @" INSERT INTO [OrderItem]([OrderID],
134 [Product],
135 [UnitPrice],
136 [Quantity])
137 VALUES( @OrderID,
138 @Product,
139 @UnitPrice,
140 @Quantity) ";
141 SqlParameter[] parametersX = {
142 new SqlParameter( " @OrderID ", order.OrderID),
143 new SqlParameter( " @Product ", order.OrderItems[i].Product),
144 new SqlParameter( " @UnitPrice ", order.OrderItems[i].UnitPrice),
145 new SqlParameter( " @Quantity ", order.OrderItems[i].Quantity)};
146 listCmdTextAndParams.Add( new SqlCmdTextAndParams(sqlX, parametersX));
147 }
148 else // 修改
149 {
150 string sqlX = @" UPDATE [OrderItem]
151 SET [OrderID] = @OrderID,
152 [Product] = @Product,
153 [UnitPrice] = @UnitPrice,
154 [Quantity] = @Quantity
155 WHERE [OrderItemID] = @OrderItemID ";
156 SqlParameter[] parametersX = {
157 new SqlParameter( " @OrderID ", order.OrderID),
158 new SqlParameter( " @Product ", order.OrderItems[i].Product),
159 new SqlParameter( " @UnitPrice ", order.OrderItems[i].UnitPrice),
160 new SqlParameter( " @Quantity ", order.OrderItems[i].Quantity),
161 new SqlParameter( " @OrderItemID ", order.OrderItems[i].OrderItemID)};
162 listCmdTextAndParams.Add( new SqlCmdTextAndParams(sqlX, parametersX));
163 }
164 }
165 rowsCountAffected = dbHelper.ExecuteNonQueryTrans(listCmdTextAndParams);
166 return rowsCountAffected;
167 }
168
169 // 删除
170 public int Delete( int orderID)
171 {
172 string sql = @" DELETE FROM [OrderItem]
173 WHERE [OrderID] = @OrderID
174
175 DELETE FROM [Order]
176 WHERE [OrderID] = @OrderID ";
177 return dbHelper.ExecuteNonQueryTrans(sql, new SqlParameter( " @OrderID ", orderID));
178 }
179
180 // 获取实体对象
181 public Order GetSingle( int orderID)
182 {
183 string sql = @" SELECT * FROM [Order]
184 WHERE [OrderID] = @OrderID ";
185 SqlParameter param = new SqlParameter( " @OrderID ", orderID);
186 DataTable dataTable = dbHelper.ExecuteQuery(sql, param);
187
188 return RowToModel(dataTable.Rows[ 0]);
189 }
190
191 // 获取DataTable
192 public DataTable GetTable( string predicate, params SqlParameter[] parameters)
193 {
194 string sql = @" SELECT [OrderID],
195 [CustomerName],
196 [CustomerPhoneNo],
197 [CustomerAddress],
198 [OrderTime],
199 [OrderStateCode],
200 [OrderState].[Name] AS [OrderState]
201 FROM [Order]
202 LEFT OUTER JOIN [OrderState]
203 ON [Order].[OrderStateCode] = [OrderState].[Code] ";
204 if ( null != predicate && "" != predicate.Trim())
205 {
206 sql += " WHERE " + predicate;
207 }
208 sql += " ORDER BY [OrderID] DESC ";
209 return dbHelper.ExecuteQuery(sql, parameters);
210 }
211
212 // 获取DataTable
213 public DataTable GetTable()
214 {
215 return GetTable( null, null);
216 }
217
218 // 将DataRow转换为实体对象
219 private Order RowToModel(DataRow row)
220 {
221 // ----父表
222 Order order = new Order();
223 order.OrderID = ( int)row[ " OrderID "];
224 order.CustomerName = row[ " CustomerName "].ToString();
225 order.CustomerPhoneNo = row[ " CustomerPhoneNo "].ToString();
226 order.CustomerAddress = row[ " CustomerAddress "].ToString();
227 order.OrderTime = Convert.ToDateTime(row[ " OrderTime "]);
228 order.OrderStateCode = row[ " OrderStateCode "].ToString();
229 // ----子表----
230 OrderItemDAO orderItemDAO = new OrderItemDAO();
231 order.OrderItems = orderItemDAO.GetList( " OrderID = @OrderID ",
232 new SqlParameter( " @OrderID ", order.OrderID));
233
234 return order;
235 }
236
237 }
238 }
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 // 新添命名空间
6 using System.Data;
7 using System.Data.SqlClient;
8 using HomeShop.DbUtility;
9 using HomeShop.Model;
10
11 namespace HomeShop.DAL
12 {
13 public class OrderDAO
14 {
15 protected SqlDbHelper dbHelper;
16
17 public OrderDAO()
18 {
19 this.dbHelper = new SqlDbHelper();
20 }
21
22 public OrderDAO( string connectionString)
23 {
24 this.dbHelper = new SqlDbHelper(connectionString);
25 }
26
27 // 添加
28 public int Add(Order order)
29 {
30 int rowsCountAffected = 0;
31 SqlTransaction trans = dbHelper.BeginTransaction();
32 try
33 {
34 // 新增订单基本信息,并使用SQL的系统函数@@IDENTITY获取新增订单的ID
35 string sql = @" INSERT INTO [Order]([OrderTime],
36 [OrderStateCode],
37 [CustomerName],
38 [CustomerPhoneNo],
39 [CustomerAddress])
40 VALUES(@OrderTime,
41 @OrderStateCode,
42 @CustomerName,
43 @CustomerPhoneNo,
44 @CustomerAddress)
45 SET @OrderID = @@IDENTITY ";
46 // @OrderID作为传出参数,用于获取新增订单的ID
47 SqlParameter paramOrderID = new SqlParameter( " @OrderID ", SqlDbType.Int);
48 paramOrderID.Direction = ParameterDirection.Output;
49 SqlParameter[] parameters = {
50 new SqlParameter( " @OrderTime ", order.OrderTime),
51 new SqlParameter( " @OrderStateCode ", order.OrderStateCode),
52 new SqlParameter( " @CustomerName ", order.CustomerName),
53 new SqlParameter( " @CustomerPhoneNo ", order.CustomerPhoneNo),
54 new SqlParameter( " @CustomerAddress ", order.CustomerAddress),
55 paramOrderID};
56 rowsCountAffected += dbHelper.ExecuteNonQueryTrans(trans, sql, parameters);
57 order.OrderID = ( int)paramOrderID.Value;
58 // -----------------------------------------------------------
59 // 循环添加订购商品信息
60 for ( int i = 0; i < order.OrderItems.Count; i++)
61 {
62 string sqlX = @" INSERT INTO [OrderItem]([OrderID],
63 [Product],
64 [UnitPrice],
65 [Quantity])
66 VALUES( @OrderID,
67 @Product,
68 @UnitPrice,
69 @Quantity) ";
70 SqlParameter[] parametersX = {
71 new SqlParameter( " @OrderID ", order.OrderID),
72 new SqlParameter( " @Product ", order.OrderItems[i].Product),
73 new SqlParameter( " @UnitPrice ", order.OrderItems[i].UnitPrice),
74 new SqlParameter( " @Quantity ", order.OrderItems[i].Quantity)};
75 rowsCountAffected += dbHelper.ExecuteNonQueryTrans(trans, sqlX, parametersX);
76 }
77 trans.Commit(); // 提交数据库事务
78 }
79 catch
80 {
81 trans.Rollback(); // 回滚数据库事务
82 throw;
83 }
84 dbHelper.Close();
85
86 return rowsCountAffected;
87 }
88
89 // 修改
90 public int Update(Order order)
91 {
92 int rowsCountAffected = 0;
93
94 List<SqlCmdTextAndParams> listCmdTextAndParams = new List<SqlCmdTextAndParams>();
95 // 修改订单基本信息
96 string sql = @" UPDATE [Order]
97 SET [OrderTime] = @OrderTime,
98 [OrderStateCode] = @OrderStateCode,
99 [CustomerName] = @CustomerName,
100 [CustomerPhoneNo] = @CustomerPhoneNo,
101 [CustomerAddress] = @CustomerAddress
102 WHERE [OrderID] = @OrderID ";
103 SqlParameter[] parameters = {
104 new SqlParameter( " @OrderTime ", order.OrderTime),
105 new SqlParameter( " @OrderStateCode ", order.OrderStateCode),
106 new SqlParameter( " @CustomerName ", order.CustomerName),
107 new SqlParameter( " @CustomerPhoneNo ", order.CustomerPhoneNo),
108 new SqlParameter( " @CustomerAddress ", order.CustomerAddress),
109 new SqlParameter( " @OrderID ", order.OrderID)};
110 listCmdTextAndParams.Add( new SqlCmdTextAndParams(sql, parameters));
111 // -----------------------------------------------------------
112 // 循环将订购商品信息列表同步更新到数据库中
113 // 删除
114 Order originalOrder = this.GetSingle(order.OrderID);
115 for( int i= 0;i<originalOrder.OrderItems.Count;i++)
116 {
117 bool exists = order.OrderItems.Exists(
118 delegate(OrderItem item){ return (item.OrderItemID == originalOrder.OrderItems[i].OrderItemID);});
119 if (exists) continue;
120
121 string sqlX = @" DELETE FROM [OrderItem]
122 WHERE [OrderItemID] = @OrderItemID ";
123 SqlParameter[] parametersX = {
124 new SqlParameter( " @OrderItemID ", originalOrder.OrderItems[i].OrderItemID)};
125 listCmdTextAndParams.Add( new SqlCmdTextAndParams(sqlX, parametersX));
126 }
127 // 新增/修改
128 OrderItemDAO orderItemDAO = new OrderItemDAO();
129 for ( int i = 0; i < order.OrderItems.Count; i++)
130 {
131 if ( 0 >= order.OrderItems[i].OrderItemID ) // 新增
132 {
133 string sqlX = @" INSERT INTO [OrderItem]([OrderID],
134 [Product],
135 [UnitPrice],
136 [Quantity])
137 VALUES( @OrderID,
138 @Product,
139 @UnitPrice,
140 @Quantity) ";
141 SqlParameter[] parametersX = {
142 new SqlParameter( " @OrderID ", order.OrderID),
143 new SqlParameter( " @Product ", order.OrderItems[i].Product),
144 new SqlParameter( " @UnitPrice ", order.OrderItems[i].UnitPrice),
145 new SqlParameter( " @Quantity ", order.OrderItems[i].Quantity)};
146 listCmdTextAndParams.Add( new SqlCmdTextAndParams(sqlX, parametersX));
147 }
148 else // 修改
149 {
150 string sqlX = @" UPDATE [OrderItem]
151 SET [OrderID] = @OrderID,
152 [Product] = @Product,
153 [UnitPrice] = @UnitPrice,
154 [Quantity] = @Quantity
155 WHERE [OrderItemID] = @OrderItemID ";
156 SqlParameter[] parametersX = {
157 new SqlParameter( " @OrderID ", order.OrderID),
158 new SqlParameter( " @Product ", order.OrderItems[i].Product),
159 new SqlParameter( " @UnitPrice ", order.OrderItems[i].UnitPrice),
160 new SqlParameter( " @Quantity ", order.OrderItems[i].Quantity),
161 new SqlParameter( " @OrderItemID ", order.OrderItems[i].OrderItemID)};
162 listCmdTextAndParams.Add( new SqlCmdTextAndParams(sqlX, parametersX));
163 }
164 }
165 rowsCountAffected = dbHelper.ExecuteNonQueryTrans(listCmdTextAndParams);
166 return rowsCountAffected;
167 }
168
169 // 删除
170 public int Delete( int orderID)
171 {
172 string sql = @" DELETE FROM [OrderItem]
173 WHERE [OrderID] = @OrderID
174
175 DELETE FROM [Order]
176 WHERE [OrderID] = @OrderID ";
177 return dbHelper.ExecuteNonQueryTrans(sql, new SqlParameter( " @OrderID ", orderID));
178 }
179
180 // 获取实体对象
181 public Order GetSingle( int orderID)
182 {
183 string sql = @" SELECT * FROM [Order]
184 WHERE [OrderID] = @OrderID ";
185 SqlParameter param = new SqlParameter( " @OrderID ", orderID);
186 DataTable dataTable = dbHelper.ExecuteQuery(sql, param);
187
188 return RowToModel(dataTable.Rows[ 0]);
189 }
190
191 // 获取DataTable
192 public DataTable GetTable( string predicate, params SqlParameter[] parameters)
193 {
194 string sql = @" SELECT [OrderID],
195 [CustomerName],
196 [CustomerPhoneNo],
197 [CustomerAddress],
198 [OrderTime],
199 [OrderStateCode],
200 [OrderState].[Name] AS [OrderState]
201 FROM [Order]
202 LEFT OUTER JOIN [OrderState]
203 ON [Order].[OrderStateCode] = [OrderState].[Code] ";
204 if ( null != predicate && "" != predicate.Trim())
205 {
206 sql += " WHERE " + predicate;
207 }
208 sql += " ORDER BY [OrderID] DESC ";
209 return dbHelper.ExecuteQuery(sql, parameters);
210 }
211
212 // 获取DataTable
213 public DataTable GetTable()
214 {
215 return GetTable( null, null);
216 }
217
218 // 将DataRow转换为实体对象
219 private Order RowToModel(DataRow row)
220 {
221 // ----父表
222 Order order = new Order();
223 order.OrderID = ( int)row[ " OrderID "];
224 order.CustomerName = row[ " CustomerName "].ToString();
225 order.CustomerPhoneNo = row[ " CustomerPhoneNo "].ToString();
226 order.CustomerAddress = row[ " CustomerAddress "].ToString();
227 order.OrderTime = Convert.ToDateTime(row[ " OrderTime "]);
228 order.OrderStateCode = row[ " OrderStateCode "].ToString();
229 // ----子表----
230 OrderItemDAO orderItemDAO = new OrderItemDAO();
231 order.OrderItems = orderItemDAO.GetList( " OrderID = @OrderID ",
232 new SqlParameter( " @OrderID ", order.OrderID));
233
234 return order;
235 }
236
237 }
238 }
OrderItemDAO.cs
1
using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 // 新添命名空间
6 using System.Data;
7 using System.Data.SqlClient;
8 using HomeShop.DbUtility;
9 using HomeShop.Model;
10
11 namespace HomeShop.DAL
12 {
13 public class OrderItemDAO
14 {
15 private SqlDbHelper dbHelper;
16
17 public OrderItemDAO()
18 {
19 this.dbHelper = new SqlDbHelper();
20 }
21
22 public OrderItemDAO( string connectionString)
23 {
24 this.dbHelper = new SqlDbHelper(connectionString);
25 }
26
27 public bool Exists( int orderItemID)
28 {
29 DataTable dataTable = GetTable( " OrderItemID = @OrderItemID ", new SqlParameter( " @OrderItemID ", orderItemID));
30 return ( 0 != dataTable.Rows.Count);
31 }
32
33 // 获取实体对象列表
34 public List<OrderItem> GetList( string predicate, params SqlParameter[] parameters)
35 {
36 List<OrderItem> list = new List<OrderItem>();
37 DataTable dataTable = GetTable(predicate, parameters);
38 for ( int i = 0; i < dataTable.Rows.Count; i++)
39 {
40 list.Add(RowToModel(dataTable.Rows[i]));
41 }
42
43 return list;
44 }
45
46 // 获取DataTable
47 public DataTable GetTable( string predicate, params SqlParameter[] parameters)
48 {
49 string sql = @" SELECT [OrderItemID],
50 [OrderID],
51 [Product],
52 [UnitPrice],
53 [Quantity],
54 [UnitPrice]*[Quantity] AS SubTotal
55 FROM [OrderItem] ";
56 if ( null != predicate && "" != predicate.Trim())
57 {
58 sql += " WHERE " + predicate;
59 }
60 return dbHelper.ExecuteQuery(sql, parameters);
61 }
62
63 // 获取DataTable
64 public DataTable GetTable()
65 {
66 return GetTable( null, null);
67 }
68
69 // 将DataRow转换为实体对象
70 private OrderItem RowToModel(DataRow row)
71 {
72 OrderItem orderItem = new OrderItem();
73 orderItem.OrderID = ( int)row[ " OrderID "];
74 orderItem.OrderItemID = ( int)row[ " OrderItemID "];
75 orderItem.Product = row[ " Product "].ToString();
76 orderItem.Quantity = ( int)row[ " Quantity "];
77 orderItem.UnitPrice = ( decimal)row[ " UnitPrice "];
78
79 return orderItem;
80 }
81 }
82 }
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 // 新添命名空间
6 using System.Data;
7 using System.Data.SqlClient;
8 using HomeShop.DbUtility;
9 using HomeShop.Model;
10
11 namespace HomeShop.DAL
12 {
13 public class OrderItemDAO
14 {
15 private SqlDbHelper dbHelper;
16
17 public OrderItemDAO()
18 {
19 this.dbHelper = new SqlDbHelper();
20 }
21
22 public OrderItemDAO( string connectionString)
23 {
24 this.dbHelper = new SqlDbHelper(connectionString);
25 }
26
27 public bool Exists( int orderItemID)
28 {
29 DataTable dataTable = GetTable( " OrderItemID = @OrderItemID ", new SqlParameter( " @OrderItemID ", orderItemID));
30 return ( 0 != dataTable.Rows.Count);
31 }
32
33 // 获取实体对象列表
34 public List<OrderItem> GetList( string predicate, params SqlParameter[] parameters)
35 {
36 List<OrderItem> list = new List<OrderItem>();
37 DataTable dataTable = GetTable(predicate, parameters);
38 for ( int i = 0; i < dataTable.Rows.Count; i++)
39 {
40 list.Add(RowToModel(dataTable.Rows[i]));
41 }
42
43 return list;
44 }
45
46 // 获取DataTable
47 public DataTable GetTable( string predicate, params SqlParameter[] parameters)
48 {
49 string sql = @" SELECT [OrderItemID],
50 [OrderID],
51 [Product],
52 [UnitPrice],
53 [Quantity],
54 [UnitPrice]*[Quantity] AS SubTotal
55 FROM [OrderItem] ";
56 if ( null != predicate && "" != predicate.Trim())
57 {
58 sql += " WHERE " + predicate;
59 }
60 return dbHelper.ExecuteQuery(sql, parameters);
61 }
62
63 // 获取DataTable
64 public DataTable GetTable()
65 {
66 return GetTable( null, null);
67 }
68
69 // 将DataRow转换为实体对象
70 private OrderItem RowToModel(DataRow row)
71 {
72 OrderItem orderItem = new OrderItem();
73 orderItem.OrderID = ( int)row[ " OrderID "];
74 orderItem.OrderItemID = ( int)row[ " OrderItemID "];
75 orderItem.Product = row[ " Product "].ToString();
76 orderItem.Quantity = ( int)row[ " Quantity "];
77 orderItem.UnitPrice = ( decimal)row[ " UnitPrice "];
78
79 return orderItem;
80 }
81 }
82 }
OrderStateDAO.cs
1
using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 // 新添命名空间
6 using System.Data;
7 using System.Data.SqlClient;
8 using HomeShop.DbUtility;
9 using HomeShop.Model;
10
11 namespace HomeShop.DAL
12 {
13 public class OrderStateDAO
14 {
15 private SqlDbHelper dbHelper;
16
17 public OrderStateDAO()
18 {
19 this.dbHelper = new SqlDbHelper();
20 }
21
22 public OrderStateDAO( string connectionString)
23 {
24 this.dbHelper = new SqlDbHelper(connectionString);
25 }
26
27 // 获取DataTable
28 public DataTable GetTable( string predicate, params SqlParameter[] parameters)
29 {
30 string sql = @" SELECT * FROM [OrderState] ";
31 if ( null != predicate && "" != predicate.Trim())
32 {
33 sql += " WHERE " + predicate;
34 }
35 sql += " ORDER BY [Code] ";
36 return dbHelper.ExecuteQuery(sql, parameters);
37 }
38
39 // 获取DataTable
40 public DataTable GetTable()
41 {
42 return GetTable( null, null);
43 }
44 }
45 }
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 // 新添命名空间
6 using System.Data;
7 using System.Data.SqlClient;
8 using HomeShop.DbUtility;
9 using HomeShop.Model;
10
11 namespace HomeShop.DAL
12 {
13 public class OrderStateDAO
14 {
15 private SqlDbHelper dbHelper;
16
17 public OrderStateDAO()
18 {
19 this.dbHelper = new SqlDbHelper();
20 }
21
22 public OrderStateDAO( string connectionString)
23 {
24 this.dbHelper = new SqlDbHelper(connectionString);
25 }
26
27 // 获取DataTable
28 public DataTable GetTable( string predicate, params SqlParameter[] parameters)
29 {
30 string sql = @" SELECT * FROM [OrderState] ";
31 if ( null != predicate && "" != predicate.Trim())
32 {
33 sql += " WHERE " + predicate;
34 }
35 sql += " ORDER BY [Code] ";
36 return dbHelper.ExecuteQuery(sql, parameters);
37 }
38
39 // 获取DataTable
40 public DataTable GetTable()
41 {
42 return GetTable( null, null);
43 }
44 }
45 }
数据库文件:/Files/SummerRain/NetDbDevRoad/HomeShopDB.rar
完整源代码:/Files/SummerRain/NetDbDevRoad/4使用ADONET实现三层架构Table.rar