Code
1Code(下)
2 1/**//**//**//// <summary>
3 2 /**//// 数据库枚举类型
4 3 /**//// </summary>
5 4 public enum DBProviderType
6 5 {
7 6 /**//**//**//// <summary>
8 7 /**//// OleDb数据库
9 8 /**//// </summary>
10 9 OleDb,
11 10 /**//**//**//// <summary>
12 11 /**//// ODBC连接
13 12 /**//// </summary>
14 13 Odbc,
15 14 /**//**//**//// <summary>
16 15 /**//// SqlServer数据库
17 16 /**//// </summary>
18 17 SqlServer,
19 18 /**//**//**//// <summary>
20 19 /**//// Oracle数据库
21 20 /**//// </summary>
22 21 Oracle
23 22 }
24 23 /**//**//**//// <summary>
25 24 /**//// dbCreater数据库对象实例化基类
26 25 /**//// </summary>
27 26 public abstract class dbCreater
28 27 {
29 28 public static string GetProviderInvariantName(DBProviderType type)
30 29 {
31 30 string providername = "";
32 31 switch (type)
33 32 {
34 33 case DBProviderType.Odbc:
35 34 providername = "System.Data.Odbc";
36 35 break;
37 36 case DBProviderType.OleDb:
38 37 providername = "System.Data.OleDb";
39 38 break;
40 39 case DBProviderType.SqlServer:
41 40 providername = "System.Data.SqlClient";
42 41 break;
43 42 case DBProviderType.Oracle:
44 43 providername = "System.Data.OracleClient";
45 44 break;
46 45 default:
47 46 providername = "";
48 47 break;
49 48 }
50 49 return providername;
51 50 }
52 51 public static DBProviderType getDBProviderType(string providerInvariantName)
53 52 {
54 53 DBProviderType dbpt = DBProviderType.SqlServer;
55 54 switch (providerInvariantName)
56 55 {
57 56 case "System.Data.Odbc":
58 57 dbpt = DBProviderType.Odbc;
59 58 break;
60 59 case "System.Data.OleDb":
61 60 dbpt = DBProviderType.OleDb;
62 61 break;
63 62 case "System.Data.SqlClient":
64 63 dbpt = DBProviderType.SqlServer;
65 64 break;
66 65 case "System.Data.OracleClient":
67 66 dbpt = DBProviderType.Oracle;
68 67 break;
69 68 default:
70 69 dbpt=DBProviderType.SqlServer;
71 70 break;
72 71 }
73 72 return dbpt;
74 73 }
75 74 }
76 75 /**//**//**//// <summary>
77 76 /**//// 创建sqlbaseObject数据库操作对象的类继承自dbCreater
78 77 /**//// </summary>
79 78 public class SqldbCreater:dbCreater
80 79 {
81 80 private static baseObject _obj;
82 81 public static baseObject getbaseObject(string connectionString)
83 82 {
84 83 _obj=new SqlbaseObject(DBProviderType.SqlServer,DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.SqlServer)), connectionString, true, false);
85 84 return _obj;
86 85 }
87 86 public static baseObject getbaseObject(string connectionString, bool AutoCloseCon, bool SingleCon)
88 87 {
89 88 if (SingleCon)
90 89 {
91 90 if (_obj == null)
92 91 {
93 92 _obj=new SqlbaseObject(DBProviderType.SqlServer, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.SqlServer)), connectionString, AutoCloseCon, SingleCon);
94 93 }
95 94 }
96 95 else
97 96 {
98 97 _obj=new SqlbaseObject(DBProviderType.SqlServer, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.SqlServer)), connectionString, AutoCloseCon, SingleCon);
99 98 }
100 99 return _obj;
101100 }
102101 public static baseObject getbaseObject(string providerInvariantName, string connectionString)
103102 {
104103 _obj= new SqlbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, true, false);
105104 return _obj;
106105 }
107106 public static baseObject getbaseObject(string providerInvariantName, string connectionString, bool AutoCloseCon, bool SingleCon)
108107 {
109108 if (SingleCon)
110109 {
111110 if (_obj == null)
112111 {
113112 _obj=new SqlbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
114113 }
115114 }
116115 else
117116 {
118117 _obj=new SqlbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
119118 }
120119 return _obj;
121120 }
122121 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString)
123122 {
124123 _obj= new SqlbaseObject(DBProviderType.SqlServer, dbFactory, connectionString, true, false);
125124 return _obj;
126125 }
127126 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString, bool AutoCloseCon, bool SingleCon)
128127 {
129128 if (SingleCon)
130129 {
131130 if (_obj == null)
132131 {
133132 _obj=new SqlbaseObject(DBProviderType.SqlServer, dbFactory, connectionString, AutoCloseCon, SingleCon);
134133 }
135134 }
136135 else
137136 {
138137 _obj=new SqlbaseObject(DBProviderType.SqlServer, dbFactory, connectionString, AutoCloseCon, SingleCon);
139138 }
140139 return _obj;
141140 }
142141 }
143142 /**//**//**//// <summary>
144143 /**//// 创建accessbaseObject数据库操作对象的类继承自dbCreater
145144 /**//// </summary>
146145 public class OledbCreater : dbCreater
147146 {
148147 private static baseObject _obj;
149148 public static baseObject getbaseObject(string connectionString)
150149 {
151150 _obj= new AccessbaseObject(DBProviderType.OleDb, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.OleDb)), connectionString, true, false);
152151 return _obj;
153152 }
154153 public static baseObject getbaseObject(string connectionString, bool AutoCloseCon, bool SingleCon)
155154 {
156155 if (SingleCon)
157156 {
158157 if (_obj == null)
159158 {
160159 _obj=new AccessbaseObject(DBProviderType.OleDb, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.OleDb)), connectionString, AutoCloseCon, SingleCon);;
161160 }
162161 }
163162 else
164163 {
165164 _obj=new AccessbaseObject(DBProviderType.OleDb, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.OleDb)), connectionString, AutoCloseCon, SingleCon);;
166165 }
167166 return _obj;
168167 }
169168 public static baseObject getbaseObject(string providerInvariantName, string connectionString)
170169 {
171170 _obj= new AccessbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, true, false);
172171 return _obj;
173172 }
174173 public static baseObject getbaseObject(string providerInvariantName, string connectionString, bool AutoCloseCon, bool SingleCon)
175174 {
176175 if (SingleCon)
177176 {
178177 if (_obj == null)
179178 {
180179 _obj=new AccessbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
181180 }
182181 }
183182 else
184183 {
185184 _obj=new AccessbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
186185 }
187186 return _obj;
188187 }
189188 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString)
190189 {
191190 _obj= new AccessbaseObject(DBProviderType.OleDb, dbFactory, connectionString, true, false);
192191 return _obj;
193192 }
194193 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString, bool AutoCloseCon, bool SingleCon)
195194 {
196195 if (SingleCon)
197196 {
198197 if (_obj == null)
199198 {
200199 _obj=new AccessbaseObject(DBProviderType.OleDb, dbFactory, connectionString, AutoCloseCon, SingleCon);
201200 }
202201 }
203202 else
204203 {
205204 _obj=new AccessbaseObject(DBProviderType.OleDb, dbFactory, connectionString, AutoCloseCon, SingleCon);
206205 }
207206 return _obj;
208207 }
209208 }
210209 /**//**//**//// <summary>
211210 /**//// 创建oraclebaseObject数据库操作对象的类继承自baseCreater
212211 /**//// </summary>
213212 public class OracleCreater : dbCreater
214213 {
215214 public static baseObject _obj;
216215 public static baseObject getbaseObject(string connectionString)
217216 {
218217 _obj= new OraclebaseObject(DBProviderType.Oracle, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.Oracle)), connectionString, true, false);
219218 return _obj;
220219 }
221220 public static baseObject getbaseObject(string connectionString, bool AutoCloseCon, bool SingleCon)
222221 {
223222 if (SingleCon)
224223 {
225224 if (_obj == null)
226225 {
227226 _obj= new OraclebaseObject(DBProviderType.Oracle, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.Oracle)), connectionString, AutoCloseCon, SingleCon);
228227 }
229228 }
230229 else
231230 {
232231 _obj=new OraclebaseObject(DBProviderType.Oracle, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.Oracle)), connectionString, AutoCloseCon, SingleCon);
233232 }
234233 return _obj;
235234 }
236235 public static baseObject getbaseObject(string providerInvariantName, string connectionString)
237236 {
238237 _obj= new OraclebaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, true, false);
239238 return _obj;
240239 }
241240 public static baseObject getbaseObject(string providerInvariantName, string connectionString, bool AutoCloseCon, bool SingleCon)
242241 {
243242 if (SingleCon)
244243 {
245244 if (_obj == null)
246245 {
247246 _obj=new OraclebaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
248247 }
249248 }
250249 else
251250 {
252251 _obj=new OraclebaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
253252 }
254253 return _obj;
255254 }
256255 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString)
257256 {
258257 _obj= new OraclebaseObject(DBProviderType.Oracle, dbFactory, connectionString, true, false);
259258 return _obj;
260259 }
261260 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString, bool AutoCloseCon, bool SingleCon)
262261 {
263262 if (SingleCon)
264263 {
265264 if (_obj == null)
266265 {
267266 _obj=new OraclebaseObject(DBProviderType.Oracle, dbFactory, connectionString, AutoCloseCon, SingleCon);
268267 }
269268 }
270269 else
271270 {
272271 _obj=new OraclebaseObject(DBProviderType.Oracle, dbFactory, connectionString, AutoCloseCon, SingleCon);
273272 }
274273 return _obj;
275274 }
276275 }
277276
278277工厂模式的调用方式如下:
279278try
280279 {
281280 baseObject objsql = SqldbCreater.getbaseObject(@"server=.;uid=sa;pwd=;database=pubs", true, true);
282281 objsql.PlayTypeAndConnstring();
283282 objsql.PlayTypeAndConnstring(objsql.getConnection().ConnectionString);
284283 objsql.PlayTypeAndConnstring();
285284 DataTable dt = objsql.ExecuteDataTable(@"select * from authors", "authors");
286285 foreach (DataRow dr in dt.Rows)
287286 {
288287 string colName = string.Empty;
289288 for (int i = 0; i < dt.Columns.Count; i++)
290289 {
291290 colName = dt.Columns[i].ColumnName;
292291 Console.WriteLine(dr[colName].ToString());
293292 }
294293 }
295294 objsql = SqldbCreater.getbaseObject(@"server=.;uid=sa;pwd=;database=northwind", true, false);
296295 objsql.PlayTypeAndConnstring();
297296 objsql.PlayTypeAndConnstring(objsql.getConnection().ConnectionString);
298297 objsql.PlayTypeAndConnstring();
299298 dt = objsql.ExecuteDataTable(@"select * from employees", "emp");
300299 foreach (DataRow dr in dt.Rows)
301300 {
302301 string colName = string.Empty;
303302 for (int i = 0; i < dt.Columns.Count; i++)
304303 {
305304 colName = dt.Columns[i].ColumnName;
306305 Console.WriteLine(dr[colName].ToString());
307306 }
308307 }
309308 baseObject objaccess = OledbCreater.getbaseObject(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\whgl.mdb;", true, false);
310309 objaccess.PlayTypeAndConnstring();
311310 objaccess.PlayTypeAndConnstring(objaccess.getConnection().ConnectionString);
312311 objaccess.PlayTypeAndConnstring();
313312 dt = objaccess.ExecuteDataTable(@"select * from gclb", "gclb");
314313 foreach (DataRow dr in dt.Rows)
315314 {
316315 string colName = string.Empty;
317316 for (int i = 0; i < dt.Columns.Count; i++)
318317 {
319318 colName = dt.Columns[i].ColumnName;
320319 Console.WriteLine(dr[colName].ToString());
321320 }
322321 }
323322
324323 baseObject objoracle = OracleCreater.getbaseObject(@"user id=crm;data source=fonny;password=1", true, false);
325324 objoracle.PlayTypeAndConnstring();
326325 objoracle.PlayTypeAndConnstring(objoracle.getConnection().ConnectionString);
327326 objoracle.PlayTypeAndConnstring();
328327 dt = objoracle.ExecuteDataTable(@"select * from dm_dept", "dept");
329328 foreach (DataRow dr in dt.Rows)
330329 {
331330 string colName = string.Empty;
332331 for (int i = 0; i < dt.Columns.Count; i++)
333332 {
334333 colName = dt.Columns[i].ColumnName;
335334 Console.WriteLine(dr[colName].ToString());
336335 }
337336 }
338337 }
339338 catch(Exception ex)
340339 {
341340 Console.WriteLine(ex.Message);
342341 }
343
344
345
346
1Code(下)
2 1/**//**//**//// <summary>
3 2 /**//// 数据库枚举类型
4 3 /**//// </summary>
5 4 public enum DBProviderType
6 5 {
7 6 /**//**//**//// <summary>
8 7 /**//// OleDb数据库
9 8 /**//// </summary>
10 9 OleDb,
11 10 /**//**//**//// <summary>
12 11 /**//// ODBC连接
13 12 /**//// </summary>
14 13 Odbc,
15 14 /**//**//**//// <summary>
16 15 /**//// SqlServer数据库
17 16 /**//// </summary>
18 17 SqlServer,
19 18 /**//**//**//// <summary>
20 19 /**//// Oracle数据库
21 20 /**//// </summary>
22 21 Oracle
23 22 }
24 23 /**//**//**//// <summary>
25 24 /**//// dbCreater数据库对象实例化基类
26 25 /**//// </summary>
27 26 public abstract class dbCreater
28 27 {
29 28 public static string GetProviderInvariantName(DBProviderType type)
30 29 {
31 30 string providername = "";
32 31 switch (type)
33 32 {
34 33 case DBProviderType.Odbc:
35 34 providername = "System.Data.Odbc";
36 35 break;
37 36 case DBProviderType.OleDb:
38 37 providername = "System.Data.OleDb";
39 38 break;
40 39 case DBProviderType.SqlServer:
41 40 providername = "System.Data.SqlClient";
42 41 break;
43 42 case DBProviderType.Oracle:
44 43 providername = "System.Data.OracleClient";
45 44 break;
46 45 default:
47 46 providername = "";
48 47 break;
49 48 }
50 49 return providername;
51 50 }
52 51 public static DBProviderType getDBProviderType(string providerInvariantName)
53 52 {
54 53 DBProviderType dbpt = DBProviderType.SqlServer;
55 54 switch (providerInvariantName)
56 55 {
57 56 case "System.Data.Odbc":
58 57 dbpt = DBProviderType.Odbc;
59 58 break;
60 59 case "System.Data.OleDb":
61 60 dbpt = DBProviderType.OleDb;
62 61 break;
63 62 case "System.Data.SqlClient":
64 63 dbpt = DBProviderType.SqlServer;
65 64 break;
66 65 case "System.Data.OracleClient":
67 66 dbpt = DBProviderType.Oracle;
68 67 break;
69 68 default:
70 69 dbpt=DBProviderType.SqlServer;
71 70 break;
72 71 }
73 72 return dbpt;
74 73 }
75 74 }
76 75 /**//**//**//// <summary>
77 76 /**//// 创建sqlbaseObject数据库操作对象的类继承自dbCreater
78 77 /**//// </summary>
79 78 public class SqldbCreater:dbCreater
80 79 {
81 80 private static baseObject _obj;
82 81 public static baseObject getbaseObject(string connectionString)
83 82 {
84 83 _obj=new SqlbaseObject(DBProviderType.SqlServer,DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.SqlServer)), connectionString, true, false);
85 84 return _obj;
86 85 }
87 86 public static baseObject getbaseObject(string connectionString, bool AutoCloseCon, bool SingleCon)
88 87 {
89 88 if (SingleCon)
90 89 {
91 90 if (_obj == null)
92 91 {
93 92 _obj=new SqlbaseObject(DBProviderType.SqlServer, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.SqlServer)), connectionString, AutoCloseCon, SingleCon);
94 93 }
95 94 }
96 95 else
97 96 {
98 97 _obj=new SqlbaseObject(DBProviderType.SqlServer, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.SqlServer)), connectionString, AutoCloseCon, SingleCon);
99 98 }
100 99 return _obj;
101100 }
102101 public static baseObject getbaseObject(string providerInvariantName, string connectionString)
103102 {
104103 _obj= new SqlbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, true, false);
105104 return _obj;
106105 }
107106 public static baseObject getbaseObject(string providerInvariantName, string connectionString, bool AutoCloseCon, bool SingleCon)
108107 {
109108 if (SingleCon)
110109 {
111110 if (_obj == null)
112111 {
113112 _obj=new SqlbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
114113 }
115114 }
116115 else
117116 {
118117 _obj=new SqlbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
119118 }
120119 return _obj;
121120 }
122121 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString)
123122 {
124123 _obj= new SqlbaseObject(DBProviderType.SqlServer, dbFactory, connectionString, true, false);
125124 return _obj;
126125 }
127126 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString, bool AutoCloseCon, bool SingleCon)
128127 {
129128 if (SingleCon)
130129 {
131130 if (_obj == null)
132131 {
133132 _obj=new SqlbaseObject(DBProviderType.SqlServer, dbFactory, connectionString, AutoCloseCon, SingleCon);
134133 }
135134 }
136135 else
137136 {
138137 _obj=new SqlbaseObject(DBProviderType.SqlServer, dbFactory, connectionString, AutoCloseCon, SingleCon);
139138 }
140139 return _obj;
141140 }
142141 }
143142 /**//**//**//// <summary>
144143 /**//// 创建accessbaseObject数据库操作对象的类继承自dbCreater
145144 /**//// </summary>
146145 public class OledbCreater : dbCreater
147146 {
148147 private static baseObject _obj;
149148 public static baseObject getbaseObject(string connectionString)
150149 {
151150 _obj= new AccessbaseObject(DBProviderType.OleDb, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.OleDb)), connectionString, true, false);
152151 return _obj;
153152 }
154153 public static baseObject getbaseObject(string connectionString, bool AutoCloseCon, bool SingleCon)
155154 {
156155 if (SingleCon)
157156 {
158157 if (_obj == null)
159158 {
160159 _obj=new AccessbaseObject(DBProviderType.OleDb, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.OleDb)), connectionString, AutoCloseCon, SingleCon);;
161160 }
162161 }
163162 else
164163 {
165164 _obj=new AccessbaseObject(DBProviderType.OleDb, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.OleDb)), connectionString, AutoCloseCon, SingleCon);;
166165 }
167166 return _obj;
168167 }
169168 public static baseObject getbaseObject(string providerInvariantName, string connectionString)
170169 {
171170 _obj= new AccessbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, true, false);
172171 return _obj;
173172 }
174173 public static baseObject getbaseObject(string providerInvariantName, string connectionString, bool AutoCloseCon, bool SingleCon)
175174 {
176175 if (SingleCon)
177176 {
178177 if (_obj == null)
179178 {
180179 _obj=new AccessbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
181180 }
182181 }
183182 else
184183 {
185184 _obj=new AccessbaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
186185 }
187186 return _obj;
188187 }
189188 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString)
190189 {
191190 _obj= new AccessbaseObject(DBProviderType.OleDb, dbFactory, connectionString, true, false);
192191 return _obj;
193192 }
194193 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString, bool AutoCloseCon, bool SingleCon)
195194 {
196195 if (SingleCon)
197196 {
198197 if (_obj == null)
199198 {
200199 _obj=new AccessbaseObject(DBProviderType.OleDb, dbFactory, connectionString, AutoCloseCon, SingleCon);
201200 }
202201 }
203202 else
204203 {
205204 _obj=new AccessbaseObject(DBProviderType.OleDb, dbFactory, connectionString, AutoCloseCon, SingleCon);
206205 }
207206 return _obj;
208207 }
209208 }
210209 /**//**//**//// <summary>
211210 /**//// 创建oraclebaseObject数据库操作对象的类继承自baseCreater
212211 /**//// </summary>
213212 public class OracleCreater : dbCreater
214213 {
215214 public static baseObject _obj;
216215 public static baseObject getbaseObject(string connectionString)
217216 {
218217 _obj= new OraclebaseObject(DBProviderType.Oracle, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.Oracle)), connectionString, true, false);
219218 return _obj;
220219 }
221220 public static baseObject getbaseObject(string connectionString, bool AutoCloseCon, bool SingleCon)
222221 {
223222 if (SingleCon)
224223 {
225224 if (_obj == null)
226225 {
227226 _obj= new OraclebaseObject(DBProviderType.Oracle, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.Oracle)), connectionString, AutoCloseCon, SingleCon);
228227 }
229228 }
230229 else
231230 {
232231 _obj=new OraclebaseObject(DBProviderType.Oracle, DbProviderFactories.GetFactory(GetProviderInvariantName(DBProviderType.Oracle)), connectionString, AutoCloseCon, SingleCon);
233232 }
234233 return _obj;
235234 }
236235 public static baseObject getbaseObject(string providerInvariantName, string connectionString)
237236 {
238237 _obj= new OraclebaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, true, false);
239238 return _obj;
240239 }
241240 public static baseObject getbaseObject(string providerInvariantName, string connectionString, bool AutoCloseCon, bool SingleCon)
242241 {
243242 if (SingleCon)
244243 {
245244 if (_obj == null)
246245 {
247246 _obj=new OraclebaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
248247 }
249248 }
250249 else
251250 {
252251 _obj=new OraclebaseObject(getDBProviderType(providerInvariantName), DbProviderFactories.GetFactory(providerInvariantName), connectionString, AutoCloseCon, SingleCon);
253252 }
254253 return _obj;
255254 }
256255 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString)
257256 {
258257 _obj= new OraclebaseObject(DBProviderType.Oracle, dbFactory, connectionString, true, false);
259258 return _obj;
260259 }
261260 public static baseObject getbaseObject(DbProviderFactory dbFactory, string connectionString, bool AutoCloseCon, bool SingleCon)
262261 {
263262 if (SingleCon)
264263 {
265264 if (_obj == null)
266265 {
267266 _obj=new OraclebaseObject(DBProviderType.Oracle, dbFactory, connectionString, AutoCloseCon, SingleCon);
268267 }
269268 }
270269 else
271270 {
272271 _obj=new OraclebaseObject(DBProviderType.Oracle, dbFactory, connectionString, AutoCloseCon, SingleCon);
273272 }
274273 return _obj;
275274 }
276275 }
277276
278277工厂模式的调用方式如下:
279278try
280279 {
281280 baseObject objsql = SqldbCreater.getbaseObject(@"server=.;uid=sa;pwd=;database=pubs", true, true);
282281 objsql.PlayTypeAndConnstring();
283282 objsql.PlayTypeAndConnstring(objsql.getConnection().ConnectionString);
284283 objsql.PlayTypeAndConnstring();
285284 DataTable dt = objsql.ExecuteDataTable(@"select * from authors", "authors");
286285 foreach (DataRow dr in dt.Rows)
287286 {
288287 string colName = string.Empty;
289288 for (int i = 0; i < dt.Columns.Count; i++)
290289 {
291290 colName = dt.Columns[i].ColumnName;
292291 Console.WriteLine(dr[colName].ToString());
293292 }
294293 }
295294 objsql = SqldbCreater.getbaseObject(@"server=.;uid=sa;pwd=;database=northwind", true, false);
296295 objsql.PlayTypeAndConnstring();
297296 objsql.PlayTypeAndConnstring(objsql.getConnection().ConnectionString);
298297 objsql.PlayTypeAndConnstring();
299298 dt = objsql.ExecuteDataTable(@"select * from employees", "emp");
300299 foreach (DataRow dr in dt.Rows)
301300 {
302301 string colName = string.Empty;
303302 for (int i = 0; i < dt.Columns.Count; i++)
304303 {
305304 colName = dt.Columns[i].ColumnName;
306305 Console.WriteLine(dr[colName].ToString());
307306 }
308307 }
309308 baseObject objaccess = OledbCreater.getbaseObject(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\whgl.mdb;", true, false);
310309 objaccess.PlayTypeAndConnstring();
311310 objaccess.PlayTypeAndConnstring(objaccess.getConnection().ConnectionString);
312311 objaccess.PlayTypeAndConnstring();
313312 dt = objaccess.ExecuteDataTable(@"select * from gclb", "gclb");
314313 foreach (DataRow dr in dt.Rows)
315314 {
316315 string colName = string.Empty;
317316 for (int i = 0; i < dt.Columns.Count; i++)
318317 {
319318 colName = dt.Columns[i].ColumnName;
320319 Console.WriteLine(dr[colName].ToString());
321320 }
322321 }
323322
324323 baseObject objoracle = OracleCreater.getbaseObject(@"user id=crm;data source=fonny;password=1", true, false);
325324 objoracle.PlayTypeAndConnstring();
326325 objoracle.PlayTypeAndConnstring(objoracle.getConnection().ConnectionString);
327326 objoracle.PlayTypeAndConnstring();
328327 dt = objoracle.ExecuteDataTable(@"select * from dm_dept", "dept");
329328 foreach (DataRow dr in dt.Rows)
330329 {
331330 string colName = string.Empty;
332331 for (int i = 0; i < dt.Columns.Count; i++)
333332 {
334333 colName = dt.Columns[i].ColumnName;
335334 Console.WriteLine(dr[colName].ToString());
336335 }
337336 }
338337 }
339338 catch(Exception ex)
340339 {
341340 Console.WriteLine(ex.Message);
342341 }
343
344
345
346