连接ACCESS数据库[原创]
一般连接数据库的有好多种写法,现在只写两种,第二种感觉较好。
第一:
1
/// <summary>
2
/// 获取ACCESS数据库连接参数
3
/// 数据库的相对路径
4
/// </summary>
5
/// <returns></returns>
6
public static OleDbConnection getConn()
7
{
8
try
9
{
10
string connstr = "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Application.StartupPath + @"\Resources\BOM_log.mdb";
11
OleDbConnection tempconn = new OleDbConnection(connstr);
12
return (tempconn);
13
}
14
catch (Exception ex)
15
{
16
MessageBox.Show("Error:\n\n"+ex.Message);
17
return null;
18
}
19
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
2
![](/Images/OutliningIndicators/InBlock.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
19
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
1
/// <summary>
2
/// 通过SQL语句得到数据集
3
/// 参数是SQL语句
4
/// </summary>
5
/// <param name="GetSql"></param>
6
/// <returns></returns>
7
public DataView GetData(string GetSql)
8
{
9
DataView dataview;
10
System.Data.DataSet dataset = new DataSet();
11
try
12
{
13
OleDbConnection conn = getConn();
14
OleDbDataAdapter adp = new OleDbDataAdapter();
15
adp.SelectCommand = new OleDbCommand(GetSql, conn);
16
adp.Fill(dataset, "mytable");
17
conn.Close();
18
}
19
catch (Exception ee)
20
{
21
MessageBox.Show("错误提示 : \n\n" + ee.Message);
22
}
23
dataview = new DataView(dataset.Tables["mytable"]);
24
return dataview;
25
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
2
![](/Images/OutliningIndicators/InBlock.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
1
/// <summary>
2
/// 通过SQL语句修改数据库
3
/// </summary>
4
/// <param name="UpdateSql"></param>
5
/// <returns></returns>
6
public bool UpdateData(string UpdateSql)
7
{
8
//在此判断配置文件参数是否为true,使用方便
9
if (System.Configuration.ConfigurationManager.AppSettings["OperateOrNot"].ToString() == "true")
10
{
11
OleDbConnection conn = getConn();
12
OleDbCommand mycmd = new OleDbCommand(UpdateSql, conn);
13
try
14
{
15
conn.Open();
16
mycmd.ExecuteNonQuery();
17
return true;
18
}
19
catch (Exception ex)
20
{
21
throw (new Exception(ex.Message));
22
return false;
23
}
24
finally
25
{
26
mycmd.Dispose();
27
conn.Close();
28
}
29
}
30
else
31
{
32
return false ;
33
}
34
}
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
2
![](/Images/OutliningIndicators/InBlock.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
29
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
34
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
第二种:
1
using System;
2
using System.Collections;
3
using System.Collections.Generic;
4
using System.Configuration;
5
using System.Data;
6
using System.Data.Common;
7
using System.Data.OleDb;
8
using System.Text;
9
using System.Text.RegularExpressions;
10
using log4net;
11![](/Images/OutliningIndicators/None.gif)
12
namespace AFC.BOM.Common.DB
13
{
14
/// <summary>
15
/// OLE DB数据库访问接口。
16
/// </summary>
17
public class DBA : IDisposable
18
{
19
private bool throwException = true ;
20
private OleDbConnection conn ;
21
22
private string dbName ;
23
24
private ILog log;
25
private OleDbTransaction txn;
26![](/Images/OutliningIndicators/InBlock.gif)
27
/// <summary>
28
/// 创建DBA对象。
29
/// </summary>
30
/// <param name="dbName">MDB文件的路径名称</param>
31
public DBA(string dbName) : this (dbName, true)
32
{
33
}
34![](/Images/OutliningIndicators/InBlock.gif)
35
public DBA(string dbName, bool throwException)
36
{
37
this.throwException = throwException;
38
log = LogManager.GetLogger("DB::" + dbName);
39
this.dbName = dbName;
40
GetConnection();
41
}
42![](/Images/OutliningIndicators/InBlock.gif)
43
private int GetConnection ()
44
{
45
if (string.IsNullOrEmpty(dbName))
46
{
47
log.Error("dbName is NULL ot EMPTY.");
48
return -1;
49
}
50
string connString = @"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + dbName;
51![](/Images/OutliningIndicators/InBlock.gif)
52
log.Info("Connect to [" + connString + "].");
53
try
54
{
55
conn = new OleDbConnection(connString);
56
conn.Open();
57
}
58
catch (Exception e)
59
{
60
HandleOleError(e);
61
log.Error("Open Database Error." + e);
62
if (! throwException)
63
return -1;
64
if (e is DbException)
65
throw e;
66
else
67
throw new DBAException("Open Database Error.", e);
68
}
69![](/Images/OutliningIndicators/InBlock.gif)
70
log.Info("Database opened sucessfully.");
71
return 0;
72
73
}
74
75
/// <summary>
76
/// 启动一个事务。
77
/// </summary>
78
/// <returns></returns>
79
public int StartTransaction ()
80
{
81
if (conn == null && GetConnection() != 0)
82
{
83
log.Error("Can't start transaction.");
84
return -1;
85
}
86![](/Images/OutliningIndicators/InBlock.gif)
87
if (txn != null)
88
{
89
log.Warn("Previous transaction not completed, will rollback it.");
90
txn.Rollback();
91
}
92
try
93
{
94
txn = conn.BeginTransaction();
95
}
96
catch (Exception e)
97
{
98
HandleOleError(e);
99
log.Error("Start Transaction Error.", e);
100
if (!throwException)
101
return -1;
102
if (e is DbException)
103
throw e;
104
else
105
throw new DBAException("Start Transaction Error.", e);
106
}
107
return 0;
108
}
109
110
/// <summary>
111
/// 提交事务。
112
/// </summary>
113
/// <returns></returns>
114
public int Commit ()
115
{
116
if (txn == null)
117
{
118
log.Error("Transaction not start yet.");
119
return -1;
120
}
121
122
try
123
{
124
txn.Commit();
125
}
126
catch (Exception e)
127
{
128
HandleOleError(e);
129
log.Error("Commit transaction Error." , e);
130
if (!throwException)
131
return -1;
132
if (e is DbException)
133
throw e;
134
else
135
throw new DBAException("Commit transaction Error.", e);
136
}
137
finally
138
{
139
txn = null;
140
}
141
142
return 0;
143
}
144![](/Images/OutliningIndicators/InBlock.gif)
145![](/Images/OutliningIndicators/InBlock.gif)
146
/// <summary>
147
/// 事务回滚。
148
/// </summary>
149
/// <returns></returns>
150
public int Rollback()
151
{
152
if (txn == null)
153
{
154
log.Error("Transaction not start yet.");
155
return -1;
156
}
157![](/Images/OutliningIndicators/InBlock.gif)
158
try
159
{
160
txn.Rollback();
161
}
162
catch (Exception e)
163
{
164
HandleOleError(e);
165
log.Error("Rollback transaction Error.", e);
166
if (!throwException)
167
return -1;
168
if (e is DbException)
169
throw e;
170
else
171
throw new DBAException("Rollback transaction Error.", e);
172
}
173
finally
174
{
175
txn = null;
176
}
177![](/Images/OutliningIndicators/InBlock.gif)
178
return 0;
179
}
180
181
/// <summary>
182
/// 销毁连接对象。
183
/// </summary>
184
public void Dispose ()
185
{
186
if (conn == null)
187
{
188
log.Warn("Connection is NULL.");
189
return;
190
}
191
try
192
{
193
conn.Close();
194
conn.Dispose();
195
}
196
catch (Exception e)
197
{
198
HandleOleError(e);
199
log.Error("Dispose Connection Error.", e);
200
201
}
202
log.Info("Connection Disposed.");
203
}
204![](/Images/OutliningIndicators/InBlock.gif)
205
/// <summary>
206
/// 执行非查询语句。
207
/// </summary>
208
/// <param name="sqlString">SQL格式串</param>
209
/// <param name="args">SQL参数</param>
210
/// <returns></returns>
211
public int ExecuteNonQuery(string sqlString, params object[] args)
212
{
213
sqlString = BuildSql(sqlString, args);
214![](/Images/OutliningIndicators/InBlock.gif)
215
if (sqlString == null)
216
return -1;
217
return ExecuteNonQuery(sqlString);
218
}
219
220
/// <summary>
221
/// 执行非查询语句。
222
/// </summary>
223
/// <param name="sqlString">SQL语句</param>
224
/// <returns></returns>
225
public int ExecuteNonQuery (string sqlString)
226
{
227
if (conn == null && GetConnection() != 0)
228
{
229
log.Error("Can't ExecuteNonQuery.");
230
return -1;
231
}
232
233
if (log.IsDebugEnabled)
234
log.Debug("Will ExecuteNonQuery (" + sqlString + ").");
235
try
236
{
237
OleDbCommand cmd = conn.CreateCommand();
238
239
using (cmd)
240
{
241
if (txn != null)
242
{
243
cmd.Transaction = txn;
244
}
245
cmd.CommandText = sqlString;
246
cmd.Connection = conn;
247
int count = cmd.ExecuteNonQuery();
248
249
log.Debug("ExecuteNonQuery effect row count: " + count);
250
return count;
251
}
252
}
253
catch (Exception e)
254
{
255
HandleOleError(e);
256
log.Error("ExecuteNonQuery[" + sqlString + "] Error.", e);
257
if (!throwException)
258
return -1;
259
if (e is DbException)
260
throw e;
261
else
262
throw new DBAException("ExecuteNonQuery Error.", e);
263
}
264
}
265
266
/// <summary>
267
/// 执行查询语句,返回DataTable。
268
/// </summary>
269
/// <param name="sqlString">SQL格式串</param>
270
/// <param name="args">SQL参数</param>
271
/// <returns></returns>
272
public DataTable ExecuteQuery (string sqlString, params object [] args)
273
{
274
sqlString = BuildSql(sqlString, args);
275
276
if (sqlString == null)
277
return null;
278
return ExecuteQuery(sqlString);
279
}
280![](/Images/OutliningIndicators/InBlock.gif)
281
/// <summary>
282
/// 执行查询语句,返回DataTable。
283
/// </summary>
284
/// <param name="sqlString">SQL语句</param>
285
/// <returns></returns>
286
public DataTable ExecuteQuery (string sqlString)
287
{
288
if (conn == null && GetConnection() != 0)
289
{
290
log.Error("Can't ExecuteQuery.");
291
return null;
292
}
293
294
if (log.IsDebugEnabled)
295
log.Debug("Will ExecuteQuery (" + sqlString + ").");
296![](/Images/OutliningIndicators/InBlock.gif)
297
try
298
{
299
OleDbDataAdapter adapter = new OleDbDataAdapter(sqlString, conn);
300![](/Images/OutliningIndicators/InBlock.gif)
301
using (adapter)
302
{
303
DataTable table = new DataTable("Table");
304![](/Images/OutliningIndicators/InBlock.gif)
305
adapter.Fill(table);
306
log.Debug("ExecuteQuery return table with rows: " + table.Rows.Count);
307
return table;
308
}
309
}
310
catch (Exception e)
311
{
312
HandleOleError(e);
313
log.Error("ExecuteQuery[" + sqlString + "] Error.", e);
314
if (!throwException)
315
return null;
316
if (e is DbException)
317
throw e;
318
else
319
throw new DBAException("ExecuteQuery Error.", e);
320
}
321
}
322![](/Images/OutliningIndicators/InBlock.gif)
323
/// <summary>
324
/// 执行查询语句,返回DataSet。
325
/// </summary>
326
/// <param name="sqlString">SQL格式串</param>
327
/// <param name="args">SQL参数</param>
328
/// <returns></returns>
329
public DataSet ExecuteDataSetQuery(string sqlString, params object[] args)
330
{
331
sqlString = BuildSql(sqlString, args);
332![](/Images/OutliningIndicators/InBlock.gif)
333
if (sqlString == null)
334
return null;
335
return ExecuteDataSetQuery(sqlString);
336
}
337![](/Images/OutliningIndicators/InBlock.gif)
338
/// <summary>
339
/// 执行查询语句,返回DataSet。
340
/// </summary>
341
/// <param name="sqlString">SQL格式串</param>
342
/// <returns></returns>
343
public DataSet ExecuteDataSetQuery (string sqlString)
344
{
345
DataTable table = ExecuteQuery(sqlString);
346
347
if (table == null)
348
return null;
349
else
350
{
351
DataSet ds = new DataSet();
352
353
ds.Tables.Add(table);
354
return ds;
355
}
356
}
357![](/Images/OutliningIndicators/InBlock.gif)
358
/// <summary>
359
/// 执行标量查询语句。
360
/// </summary>
361
/// <param name="sqlString">SQL格式串</param>
362
/// <param name="args">SQL参数</param>
363
/// <returns></returns>
364
public object ExecuteScalar(string sqlString, params object[] args)
365
{
366
sqlString = BuildSql(sqlString, args);
367![](/Images/OutliningIndicators/InBlock.gif)
368
if (sqlString == null)
369
return null;
370
return ExecuteScalar(sqlString);
371
}
372![](/Images/OutliningIndicators/InBlock.gif)
373
/// <summary>
374
/// 执行标量查询语句。
375
/// </summary>
376
/// <param name="sqlString">SQL语句</param>
377
/// <returns></returns>
378
public object ExecuteScalar (string sqlString)
379
{
380
if (conn == null && GetConnection() != 0)
381
{
382
log.Error("Can't ExecuteScalar.");
383
return null;
384
}
385
386
if (log.IsDebugEnabled)
387
log.Debug("Will ExecuteScalar (" + sqlString + ").");
388
try
389
{
390
OleDbCommand cmd = conn.CreateCommand();
391![](/Images/OutliningIndicators/InBlock.gif)
392
using (cmd)
393
{
394
if (txn != null)
395
{
396
cmd.Transaction = txn;
397
}
398
cmd.CommandText = sqlString;
399
cmd.Connection = conn;
400
object ret = cmd.ExecuteScalar();
401![](/Images/OutliningIndicators/InBlock.gif)
402
log.Debug("ExecuteScalar return value: [" + ret + "].");
403
return ret;
404
}
405
}
406
catch (Exception e)
407
{
408
HandleOleError(e);
409
log.Error("ExecuteScalar[" + sqlString + "] Error.", e);
410
if (!throwException)
411
return null;
412
if (e is DbException)
413
throw e;
414
else
415
throw new DBAException("ExecuteScalar Error.", e);
416
}
417
}
418
419
/// <summary>
420
/// 创建SQL语句
421
/// </summary>
422
/// <param name="sqlString"></param>
423
/// <param name="args"></param>
424
/// <returns></returns>
425
public string BuildSql (string sqlString, params object [] args)
426
{
427
if (string.IsNullOrEmpty(sqlString))
428
{
429
log.Error("SqlString is NULL or EMPTY." , new ArgumentNullException("sqlString"));
430
return null;
431
}
432
try
433
{
434
return string.Format(sqlString, args);
435
}
436
catch (Exception e)
437
{
438
log.Error("Format sql Error[" + sqlString + "]" , e);
439
if (!throwException)
440
return null;
441
if (e is DbException)
442
throw e;
443
else
444
throw new DBAException("Format sql Erro.", e);
445
446
}
447
}
448![](/Images/OutliningIndicators/InBlock.gif)
449
/// <summary>
450
/// 执行参数化语句,仅用于非查询语句(兼容UD部分的SQL语句)。
451
/// </summary>
452
/// <param name="sqlString">SQL格式串</param>
453
/// <param name="args">SQL参数</param>
454
/// <returns></returns>
455
public int ExecuteParamSql (string sqlString, SqlParamList args)
456
{
457
if (conn == null && GetConnection() != 0)
458
{
459
log.Error("Can't ExecuteParamSql.");
460
return -1;
461
}
462
log.Debug("Will ExecuteParamSql [" + sqlString + "].");
463
if (CheckParamSql (sqlString, args) != 0)
464
return 0;
465
466
try
467
{
468
OleDbCommand cmd = conn.CreateCommand();
469![](/Images/OutliningIndicators/InBlock.gif)
470
using (cmd)
471
{
472
if (txn != null)
473
{
474
cmd.Transaction = txn;
475
}
476
cmd.CommandText = sqlString;
477
cmd.Connection = conn;
478![](/Images/OutliningIndicators/InBlock.gif)
479
for (int i = 0; args != null && args.list != null && i < args.list.Count; i++)
480
{
481
SqlParam sqlParam = args.list[i];
482![](/Images/OutliningIndicators/InBlock.gif)
483
string key = sqlParam.name;
484
object value = sqlParam.value;
485![](/Images/OutliningIndicators/InBlock.gif)
486
if (log.IsDebugEnabled)
487
log.Debug("Param[" + i + "] Name[" + key + "], Type[" +
488
(value == null ? "null" : value.GetType().ToString()) +
489
"], Value[" + value + "].");
490![](/Images/OutliningIndicators/InBlock.gif)
491
OleDbParameter param = cmd.CreateParameter();
492
param.ParameterName = key;
493
param.OleDbType = GetDbType(value);
494
param.Value = value;
495
cmd.Parameters.Add(param);
496
}
497![](/Images/OutliningIndicators/InBlock.gif)
498
int count = cmd.ExecuteNonQuery();
499
log.Debug("ExecuteParamSql effect row count: " + count);
500
return count;
501
}
502
}
503
catch (Exception e)
504
{
505
HandleOleError(e);
506
log.Error("ExecuteParamSql[" + sqlString + "] Error.", e);
507
if (!throwException)
508
return -1;
509
if (e is DbException)
510
throw e;
511
else
512
throw new DBAException("ExecuteParamSql Error.", e);
513
}
514
}
515![](/Images/OutliningIndicators/InBlock.gif)
516
private int CheckParamSql (string sqlString, SqlParamList list)
517
{
518
if (! log.IsDebugEnabled)
519
return 0;
520![](/Images/OutliningIndicators/InBlock.gif)
521
Regex r = new Regex(@"@(?<x>[0-9a-zA-Z]*)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
522
MatchCollection mc = r.Matches(sqlString);
523
int err = 0;
524
for (int i = 0; i < mc.Count; i++)
525
{
526
string paramName = mc[i].Result("$1");
527
528
if (i >= list.list.Count)
529
{
530
log.Error("SQL Param Mismatch, SqlString params [" + i + "] = " + paramName + ", SqlParamList.Count = " + list.list.Count + ".");
531
err ++;
532
continue;
533
}
534
535
if (paramName != list.list [i].name)
536
{
537
log.Error("SQL Param Mismatch, SqlString params [" + i + "] = " + paramName + ", SqlParamList [" + i + "] = " + list.list[i].name + ".");
538
err++;
539
continue;
540
}
541
}
542
return err;
543
}
544
545
private OleDbType GetDbType(object value)
546
{
547
if (value == null)
548
return OleDbType.Empty;
549![](/Images/OutliningIndicators/InBlock.gif)
550
Type type = value.GetType();
551
552
if (type.IsEnum)
553
return OleDbType.Integer;
554
555
if (type == typeof (bool))
556
return OleDbType.TinyInt;
557
558
if (type == typeof (string))
559
return OleDbType.VarChar;
560
561
if (type == typeof (uint))
562
return OleDbType.UnsignedInt;
563![](/Images/OutliningIndicators/InBlock.gif)
564
if (type == typeof(int))
565
return OleDbType.Integer;
566
567
if (type == typeof (byte []))
568
return OleDbType.VarBinary;
569
570
if (type == typeof (short))
571
return OleDbType.SmallInt;
572![](/Images/OutliningIndicators/InBlock.gif)
573
if (type == typeof(ushort))
574
return OleDbType.UnsignedSmallInt;
575
576
if (type == typeof (byte))
577
return OleDbType.UnsignedTinyInt;
578
579
return OleDbType.IUnknown;
580
}
581
582
private void HandleOleError (Exception e)
583
{
584
if (! (e is OleDbException))
585
{
586
return;
587
}
588
589
OleDbException ex = (OleDbException) e;
590![](/Images/OutliningIndicators/InBlock.gif)
591
string errorMessages = "OleDbException::" + ex.ErrorCode + "\n";
592![](/Images/OutliningIndicators/InBlock.gif)
593
for (int i = 0; i < ex.Errors.Count; i++)
594
{
595
errorMessages += "\tIndex #" + i + "\n" +
596
"\tMessage: " + ex.Errors[i].Message + "\n" +
597
"\tNativeError: " + ex.Errors[i].NativeError + "\n" +
598
"\tSource: " + ex.Errors[i].Source + "\n" +
599
"\tSQLState: " + ex.Errors[i].SQLState + "\n";
600
}
601![](/Images/OutliningIndicators/InBlock.gif)
602
log.Error(errorMessages);
603
}
604
}
605
}
606![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/InBlock.gif)
44
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/InBlock.gif)
49
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
50
![](/Images/OutliningIndicators/InBlock.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/InBlock.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
58
![](/Images/OutliningIndicators/InBlock.gif)
59
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/InBlock.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/InBlock.gif)
64
![](/Images/OutliningIndicators/InBlock.gif)
65
![](/Images/OutliningIndicators/InBlock.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
69
![](/Images/OutliningIndicators/InBlock.gif)
70
![](/Images/OutliningIndicators/InBlock.gif)
71
![](/Images/OutliningIndicators/InBlock.gif)
72
![](/Images/OutliningIndicators/InBlock.gif)
73
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
74
![](/Images/OutliningIndicators/InBlock.gif)
75
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
76
![](/Images/OutliningIndicators/InBlock.gif)
77
![](/Images/OutliningIndicators/InBlock.gif)
78
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
79
![](/Images/OutliningIndicators/InBlock.gif)
80
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
81
![](/Images/OutliningIndicators/InBlock.gif)
82
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
83
![](/Images/OutliningIndicators/InBlock.gif)
84
![](/Images/OutliningIndicators/InBlock.gif)
85
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
86
![](/Images/OutliningIndicators/InBlock.gif)
87
![](/Images/OutliningIndicators/InBlock.gif)
88
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
89
![](/Images/OutliningIndicators/InBlock.gif)
90
![](/Images/OutliningIndicators/InBlock.gif)
91
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
92
![](/Images/OutliningIndicators/InBlock.gif)
93
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
94
![](/Images/OutliningIndicators/InBlock.gif)
95
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
96
![](/Images/OutliningIndicators/InBlock.gif)
97
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
98
![](/Images/OutliningIndicators/InBlock.gif)
99
![](/Images/OutliningIndicators/InBlock.gif)
100
![](/Images/OutliningIndicators/InBlock.gif)
101
![](/Images/OutliningIndicators/InBlock.gif)
102
![](/Images/OutliningIndicators/InBlock.gif)
103
![](/Images/OutliningIndicators/InBlock.gif)
104
![](/Images/OutliningIndicators/InBlock.gif)
105
![](/Images/OutliningIndicators/InBlock.gif)
106
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
107
![](/Images/OutliningIndicators/InBlock.gif)
108
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
109
![](/Images/OutliningIndicators/InBlock.gif)
110
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
111
![](/Images/OutliningIndicators/InBlock.gif)
112
![](/Images/OutliningIndicators/InBlock.gif)
113
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
114
![](/Images/OutliningIndicators/InBlock.gif)
115
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
116
![](/Images/OutliningIndicators/InBlock.gif)
117
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
118
![](/Images/OutliningIndicators/InBlock.gif)
119
![](/Images/OutliningIndicators/InBlock.gif)
120
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
121
![](/Images/OutliningIndicators/InBlock.gif)
122
![](/Images/OutliningIndicators/InBlock.gif)
123
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
124
![](/Images/OutliningIndicators/InBlock.gif)
125
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
126
![](/Images/OutliningIndicators/InBlock.gif)
127
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
128
![](/Images/OutliningIndicators/InBlock.gif)
129
![](/Images/OutliningIndicators/InBlock.gif)
130
![](/Images/OutliningIndicators/InBlock.gif)
131
![](/Images/OutliningIndicators/InBlock.gif)
132
![](/Images/OutliningIndicators/InBlock.gif)
133
![](/Images/OutliningIndicators/InBlock.gif)
134
![](/Images/OutliningIndicators/InBlock.gif)
135
![](/Images/OutliningIndicators/InBlock.gif)
136
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
137
![](/Images/OutliningIndicators/InBlock.gif)
138
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
139
![](/Images/OutliningIndicators/InBlock.gif)
140
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
141
![](/Images/OutliningIndicators/InBlock.gif)
142
![](/Images/OutliningIndicators/InBlock.gif)
143
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
144
![](/Images/OutliningIndicators/InBlock.gif)
145
![](/Images/OutliningIndicators/InBlock.gif)
146
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
147
![](/Images/OutliningIndicators/InBlock.gif)
148
![](/Images/OutliningIndicators/InBlock.gif)
149
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
150
![](/Images/OutliningIndicators/InBlock.gif)
151
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
152
![](/Images/OutliningIndicators/InBlock.gif)
153
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
154
![](/Images/OutliningIndicators/InBlock.gif)
155
![](/Images/OutliningIndicators/InBlock.gif)
156
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
157
![](/Images/OutliningIndicators/InBlock.gif)
158
![](/Images/OutliningIndicators/InBlock.gif)
159
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
160
![](/Images/OutliningIndicators/InBlock.gif)
161
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
162
![](/Images/OutliningIndicators/InBlock.gif)
163
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
164
![](/Images/OutliningIndicators/InBlock.gif)
165
![](/Images/OutliningIndicators/InBlock.gif)
166
![](/Images/OutliningIndicators/InBlock.gif)
167
![](/Images/OutliningIndicators/InBlock.gif)
168
![](/Images/OutliningIndicators/InBlock.gif)
169
![](/Images/OutliningIndicators/InBlock.gif)
170
![](/Images/OutliningIndicators/InBlock.gif)
171
![](/Images/OutliningIndicators/InBlock.gif)
172
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
173
![](/Images/OutliningIndicators/InBlock.gif)
174
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
175
![](/Images/OutliningIndicators/InBlock.gif)
176
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
177
![](/Images/OutliningIndicators/InBlock.gif)
178
![](/Images/OutliningIndicators/InBlock.gif)
179
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
180
![](/Images/OutliningIndicators/InBlock.gif)
181
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
182
![](/Images/OutliningIndicators/InBlock.gif)
183
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
184
![](/Images/OutliningIndicators/InBlock.gif)
185
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
186
![](/Images/OutliningIndicators/InBlock.gif)
187
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
188
![](/Images/OutliningIndicators/InBlock.gif)
189
![](/Images/OutliningIndicators/InBlock.gif)
190
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
191
![](/Images/OutliningIndicators/InBlock.gif)
192
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
193
![](/Images/OutliningIndicators/InBlock.gif)
194
![](/Images/OutliningIndicators/InBlock.gif)
195
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
196
![](/Images/OutliningIndicators/InBlock.gif)
197
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
198
![](/Images/OutliningIndicators/InBlock.gif)
199
![](/Images/OutliningIndicators/InBlock.gif)
200
![](/Images/OutliningIndicators/InBlock.gif)
201
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
202
![](/Images/OutliningIndicators/InBlock.gif)
203
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
204
![](/Images/OutliningIndicators/InBlock.gif)
205
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
206
![](/Images/OutliningIndicators/InBlock.gif)
207
![](/Images/OutliningIndicators/InBlock.gif)
208
![](/Images/OutliningIndicators/InBlock.gif)
209
![](/Images/OutliningIndicators/InBlock.gif)
210
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
211
![](/Images/OutliningIndicators/InBlock.gif)
212
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
213
![](/Images/OutliningIndicators/InBlock.gif)
214
![](/Images/OutliningIndicators/InBlock.gif)
215
![](/Images/OutliningIndicators/InBlock.gif)
216
![](/Images/OutliningIndicators/InBlock.gif)
217
![](/Images/OutliningIndicators/InBlock.gif)
218
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
219
![](/Images/OutliningIndicators/InBlock.gif)
220
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
221
![](/Images/OutliningIndicators/InBlock.gif)
222
![](/Images/OutliningIndicators/InBlock.gif)
223
![](/Images/OutliningIndicators/InBlock.gif)
224
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
225
![](/Images/OutliningIndicators/InBlock.gif)
226
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
227
![](/Images/OutliningIndicators/InBlock.gif)
228
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
229
![](/Images/OutliningIndicators/InBlock.gif)
230
![](/Images/OutliningIndicators/InBlock.gif)
231
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
232
![](/Images/OutliningIndicators/InBlock.gif)
233
![](/Images/OutliningIndicators/InBlock.gif)
234
![](/Images/OutliningIndicators/InBlock.gif)
235
![](/Images/OutliningIndicators/InBlock.gif)
236
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
237
![](/Images/OutliningIndicators/InBlock.gif)
238
![](/Images/OutliningIndicators/InBlock.gif)
239
![](/Images/OutliningIndicators/InBlock.gif)
240
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
241
![](/Images/OutliningIndicators/InBlock.gif)
242
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
243
![](/Images/OutliningIndicators/InBlock.gif)
244
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
245
![](/Images/OutliningIndicators/InBlock.gif)
246
![](/Images/OutliningIndicators/InBlock.gif)
247
![](/Images/OutliningIndicators/InBlock.gif)
248
![](/Images/OutliningIndicators/InBlock.gif)
249
![](/Images/OutliningIndicators/InBlock.gif)
250
![](/Images/OutliningIndicators/InBlock.gif)
251
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
252
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
253
![](/Images/OutliningIndicators/InBlock.gif)
254
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
255
![](/Images/OutliningIndicators/InBlock.gif)
256
![](/Images/OutliningIndicators/InBlock.gif)
257
![](/Images/OutliningIndicators/InBlock.gif)
258
![](/Images/OutliningIndicators/InBlock.gif)
259
![](/Images/OutliningIndicators/InBlock.gif)
260
![](/Images/OutliningIndicators/InBlock.gif)
261
![](/Images/OutliningIndicators/InBlock.gif)
262
![](/Images/OutliningIndicators/InBlock.gif)
263
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
264
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
265
![](/Images/OutliningIndicators/InBlock.gif)
266
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
267
![](/Images/OutliningIndicators/InBlock.gif)
268
![](/Images/OutliningIndicators/InBlock.gif)
269
![](/Images/OutliningIndicators/InBlock.gif)
270
![](/Images/OutliningIndicators/InBlock.gif)
271
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
272
![](/Images/OutliningIndicators/InBlock.gif)
273
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
274
![](/Images/OutliningIndicators/InBlock.gif)
275
![](/Images/OutliningIndicators/InBlock.gif)
276
![](/Images/OutliningIndicators/InBlock.gif)
277
![](/Images/OutliningIndicators/InBlock.gif)
278
![](/Images/OutliningIndicators/InBlock.gif)
279
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
280
![](/Images/OutliningIndicators/InBlock.gif)
281
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
282
![](/Images/OutliningIndicators/InBlock.gif)
283
![](/Images/OutliningIndicators/InBlock.gif)
284
![](/Images/OutliningIndicators/InBlock.gif)
285
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
286
![](/Images/OutliningIndicators/InBlock.gif)
287
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
288
![](/Images/OutliningIndicators/InBlock.gif)
289
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
290
![](/Images/OutliningIndicators/InBlock.gif)
291
![](/Images/OutliningIndicators/InBlock.gif)
292
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
293
![](/Images/OutliningIndicators/InBlock.gif)
294
![](/Images/OutliningIndicators/InBlock.gif)
295
![](/Images/OutliningIndicators/InBlock.gif)
296
![](/Images/OutliningIndicators/InBlock.gif)
297
![](/Images/OutliningIndicators/InBlock.gif)
298
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
299
![](/Images/OutliningIndicators/InBlock.gif)
300
![](/Images/OutliningIndicators/InBlock.gif)
301
![](/Images/OutliningIndicators/InBlock.gif)
302
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
303
![](/Images/OutliningIndicators/InBlock.gif)
304
![](/Images/OutliningIndicators/InBlock.gif)
305
![](/Images/OutliningIndicators/InBlock.gif)
306
![](/Images/OutliningIndicators/InBlock.gif)
307
![](/Images/OutliningIndicators/InBlock.gif)
308
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
309
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
310
![](/Images/OutliningIndicators/InBlock.gif)
311
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
312
![](/Images/OutliningIndicators/InBlock.gif)
313
![](/Images/OutliningIndicators/InBlock.gif)
314
![](/Images/OutliningIndicators/InBlock.gif)
315
![](/Images/OutliningIndicators/InBlock.gif)
316
![](/Images/OutliningIndicators/InBlock.gif)
317
![](/Images/OutliningIndicators/InBlock.gif)
318
![](/Images/OutliningIndicators/InBlock.gif)
319
![](/Images/OutliningIndicators/InBlock.gif)
320
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
321
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
322
![](/Images/OutliningIndicators/InBlock.gif)
323
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
324
![](/Images/OutliningIndicators/InBlock.gif)
325
![](/Images/OutliningIndicators/InBlock.gif)
326
![](/Images/OutliningIndicators/InBlock.gif)
327
![](/Images/OutliningIndicators/InBlock.gif)
328
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
329
![](/Images/OutliningIndicators/InBlock.gif)
330
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
331
![](/Images/OutliningIndicators/InBlock.gif)
332
![](/Images/OutliningIndicators/InBlock.gif)
333
![](/Images/OutliningIndicators/InBlock.gif)
334
![](/Images/OutliningIndicators/InBlock.gif)
335
![](/Images/OutliningIndicators/InBlock.gif)
336
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
337
![](/Images/OutliningIndicators/InBlock.gif)
338
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
339
![](/Images/OutliningIndicators/InBlock.gif)
340
![](/Images/OutliningIndicators/InBlock.gif)
341
![](/Images/OutliningIndicators/InBlock.gif)
342
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
343
![](/Images/OutliningIndicators/InBlock.gif)
344
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
345
![](/Images/OutliningIndicators/InBlock.gif)
346
![](/Images/OutliningIndicators/InBlock.gif)
347
![](/Images/OutliningIndicators/InBlock.gif)
348
![](/Images/OutliningIndicators/InBlock.gif)
349
![](/Images/OutliningIndicators/InBlock.gif)
350
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
351
![](/Images/OutliningIndicators/InBlock.gif)
352
![](/Images/OutliningIndicators/InBlock.gif)
353
![](/Images/OutliningIndicators/InBlock.gif)
354
![](/Images/OutliningIndicators/InBlock.gif)
355
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
356
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
357
![](/Images/OutliningIndicators/InBlock.gif)
358
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
359
![](/Images/OutliningIndicators/InBlock.gif)
360
![](/Images/OutliningIndicators/InBlock.gif)
361
![](/Images/OutliningIndicators/InBlock.gif)
362
![](/Images/OutliningIndicators/InBlock.gif)
363
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
364
![](/Images/OutliningIndicators/InBlock.gif)
365
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
366
![](/Images/OutliningIndicators/InBlock.gif)
367
![](/Images/OutliningIndicators/InBlock.gif)
368
![](/Images/OutliningIndicators/InBlock.gif)
369
![](/Images/OutliningIndicators/InBlock.gif)
370
![](/Images/OutliningIndicators/InBlock.gif)
371
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
372
![](/Images/OutliningIndicators/InBlock.gif)
373
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
374
![](/Images/OutliningIndicators/InBlock.gif)
375
![](/Images/OutliningIndicators/InBlock.gif)
376
![](/Images/OutliningIndicators/InBlock.gif)
377
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
378
![](/Images/OutliningIndicators/InBlock.gif)
379
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
380
![](/Images/OutliningIndicators/InBlock.gif)
381
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
382
![](/Images/OutliningIndicators/InBlock.gif)
383
![](/Images/OutliningIndicators/InBlock.gif)
384
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
385
![](/Images/OutliningIndicators/InBlock.gif)
386
![](/Images/OutliningIndicators/InBlock.gif)
387
![](/Images/OutliningIndicators/InBlock.gif)
388
![](/Images/OutliningIndicators/InBlock.gif)
389
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
390
![](/Images/OutliningIndicators/InBlock.gif)
391
![](/Images/OutliningIndicators/InBlock.gif)
392
![](/Images/OutliningIndicators/InBlock.gif)
393
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
394
![](/Images/OutliningIndicators/InBlock.gif)
395
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
396
![](/Images/OutliningIndicators/InBlock.gif)
397
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
398
![](/Images/OutliningIndicators/InBlock.gif)
399
![](/Images/OutliningIndicators/InBlock.gif)
400
![](/Images/OutliningIndicators/InBlock.gif)
401
![](/Images/OutliningIndicators/InBlock.gif)
402
![](/Images/OutliningIndicators/InBlock.gif)
403
![](/Images/OutliningIndicators/InBlock.gif)
404
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
405
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
406
![](/Images/OutliningIndicators/InBlock.gif)
407
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
408
![](/Images/OutliningIndicators/InBlock.gif)
409
![](/Images/OutliningIndicators/InBlock.gif)
410
![](/Images/OutliningIndicators/InBlock.gif)
411
![](/Images/OutliningIndicators/InBlock.gif)
412
![](/Images/OutliningIndicators/InBlock.gif)
413
![](/Images/OutliningIndicators/InBlock.gif)
414
![](/Images/OutliningIndicators/InBlock.gif)
415
![](/Images/OutliningIndicators/InBlock.gif)
416
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
417
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
418
![](/Images/OutliningIndicators/InBlock.gif)
419
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
420
![](/Images/OutliningIndicators/InBlock.gif)
421
![](/Images/OutliningIndicators/InBlock.gif)
422
![](/Images/OutliningIndicators/InBlock.gif)
423
![](/Images/OutliningIndicators/InBlock.gif)
424
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
425
![](/Images/OutliningIndicators/InBlock.gif)
426
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
427
![](/Images/OutliningIndicators/InBlock.gif)
428
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
429
![](/Images/OutliningIndicators/InBlock.gif)
430
![](/Images/OutliningIndicators/InBlock.gif)
431
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
432
![](/Images/OutliningIndicators/InBlock.gif)
433
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
434
![](/Images/OutliningIndicators/InBlock.gif)
435
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
436
![](/Images/OutliningIndicators/InBlock.gif)
437
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
438
![](/Images/OutliningIndicators/InBlock.gif)
439
![](/Images/OutliningIndicators/InBlock.gif)
440
![](/Images/OutliningIndicators/InBlock.gif)
441
![](/Images/OutliningIndicators/InBlock.gif)
442
![](/Images/OutliningIndicators/InBlock.gif)
443
![](/Images/OutliningIndicators/InBlock.gif)
444
![](/Images/OutliningIndicators/InBlock.gif)
445
![](/Images/OutliningIndicators/InBlock.gif)
446
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
447
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
448
![](/Images/OutliningIndicators/InBlock.gif)
449
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
450
![](/Images/OutliningIndicators/InBlock.gif)
451
![](/Images/OutliningIndicators/InBlock.gif)
452
![](/Images/OutliningIndicators/InBlock.gif)
453
![](/Images/OutliningIndicators/InBlock.gif)
454
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
455
![](/Images/OutliningIndicators/InBlock.gif)
456
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
457
![](/Images/OutliningIndicators/InBlock.gif)
458
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
459
![](/Images/OutliningIndicators/InBlock.gif)
460
![](/Images/OutliningIndicators/InBlock.gif)
461
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
462
![](/Images/OutliningIndicators/InBlock.gif)
463
![](/Images/OutliningIndicators/InBlock.gif)
464
![](/Images/OutliningIndicators/InBlock.gif)
465
![](/Images/OutliningIndicators/InBlock.gif)
466
![](/Images/OutliningIndicators/InBlock.gif)
467
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
468
![](/Images/OutliningIndicators/InBlock.gif)
469
![](/Images/OutliningIndicators/InBlock.gif)
470
![](/Images/OutliningIndicators/InBlock.gif)
471
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
472
![](/Images/OutliningIndicators/InBlock.gif)
473
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
474
![](/Images/OutliningIndicators/InBlock.gif)
475
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
476
![](/Images/OutliningIndicators/InBlock.gif)
477
![](/Images/OutliningIndicators/InBlock.gif)
478
![](/Images/OutliningIndicators/InBlock.gif)
479
![](/Images/OutliningIndicators/InBlock.gif)
480
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
481
![](/Images/OutliningIndicators/InBlock.gif)
482
![](/Images/OutliningIndicators/InBlock.gif)
483
![](/Images/OutliningIndicators/InBlock.gif)
484
![](/Images/OutliningIndicators/InBlock.gif)
485
![](/Images/OutliningIndicators/InBlock.gif)
486
![](/Images/OutliningIndicators/InBlock.gif)
487
![](/Images/OutliningIndicators/InBlock.gif)
488
![](/Images/OutliningIndicators/InBlock.gif)
489
![](/Images/OutliningIndicators/InBlock.gif)
490
![](/Images/OutliningIndicators/InBlock.gif)
491
![](/Images/OutliningIndicators/InBlock.gif)
492
![](/Images/OutliningIndicators/InBlock.gif)
493
![](/Images/OutliningIndicators/InBlock.gif)
494
![](/Images/OutliningIndicators/InBlock.gif)
495
![](/Images/OutliningIndicators/InBlock.gif)
496
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
497
![](/Images/OutliningIndicators/InBlock.gif)
498
![](/Images/OutliningIndicators/InBlock.gif)
499
![](/Images/OutliningIndicators/InBlock.gif)
500
![](/Images/OutliningIndicators/InBlock.gif)
501
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
502
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
503
![](/Images/OutliningIndicators/InBlock.gif)
504
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
505
![](/Images/OutliningIndicators/InBlock.gif)
506
![](/Images/OutliningIndicators/InBlock.gif)
507
![](/Images/OutliningIndicators/InBlock.gif)
508
![](/Images/OutliningIndicators/InBlock.gif)
509
![](/Images/OutliningIndicators/InBlock.gif)
510
![](/Images/OutliningIndicators/InBlock.gif)
511
![](/Images/OutliningIndicators/InBlock.gif)
512
![](/Images/OutliningIndicators/InBlock.gif)
513
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
514
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
515
![](/Images/OutliningIndicators/InBlock.gif)
516
![](/Images/OutliningIndicators/InBlock.gif)
517
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
518
![](/Images/OutliningIndicators/InBlock.gif)
519
![](/Images/OutliningIndicators/InBlock.gif)
520
![](/Images/OutliningIndicators/InBlock.gif)
521
![](/Images/OutliningIndicators/InBlock.gif)
522
![](/Images/OutliningIndicators/InBlock.gif)
523
![](/Images/OutliningIndicators/InBlock.gif)
524
![](/Images/OutliningIndicators/InBlock.gif)
525
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
526
![](/Images/OutliningIndicators/InBlock.gif)
527
![](/Images/OutliningIndicators/InBlock.gif)
528
![](/Images/OutliningIndicators/InBlock.gif)
529
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
530
![](/Images/OutliningIndicators/InBlock.gif)
531
![](/Images/OutliningIndicators/InBlock.gif)
532
![](/Images/OutliningIndicators/InBlock.gif)
533
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
534
![](/Images/OutliningIndicators/InBlock.gif)
535
![](/Images/OutliningIndicators/InBlock.gif)
536
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
537
![](/Images/OutliningIndicators/InBlock.gif)
538
![](/Images/OutliningIndicators/InBlock.gif)
539
![](/Images/OutliningIndicators/InBlock.gif)
540
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
541
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
542
![](/Images/OutliningIndicators/InBlock.gif)
543
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
544
![](/Images/OutliningIndicators/InBlock.gif)
545
![](/Images/OutliningIndicators/InBlock.gif)
546
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
547
![](/Images/OutliningIndicators/InBlock.gif)
548
![](/Images/OutliningIndicators/InBlock.gif)
549
![](/Images/OutliningIndicators/InBlock.gif)
550
![](/Images/OutliningIndicators/InBlock.gif)
551
![](/Images/OutliningIndicators/InBlock.gif)
552
![](/Images/OutliningIndicators/InBlock.gif)
553
![](/Images/OutliningIndicators/InBlock.gif)
554
![](/Images/OutliningIndicators/InBlock.gif)
555
![](/Images/OutliningIndicators/InBlock.gif)
556
![](/Images/OutliningIndicators/InBlock.gif)
557
![](/Images/OutliningIndicators/InBlock.gif)
558
![](/Images/OutliningIndicators/InBlock.gif)
559
![](/Images/OutliningIndicators/InBlock.gif)
560
![](/Images/OutliningIndicators/InBlock.gif)
561
![](/Images/OutliningIndicators/InBlock.gif)
562
![](/Images/OutliningIndicators/InBlock.gif)
563
![](/Images/OutliningIndicators/InBlock.gif)
564
![](/Images/OutliningIndicators/InBlock.gif)
565
![](/Images/OutliningIndicators/InBlock.gif)
566
![](/Images/OutliningIndicators/InBlock.gif)
567
![](/Images/OutliningIndicators/InBlock.gif)
568
![](/Images/OutliningIndicators/InBlock.gif)
569
![](/Images/OutliningIndicators/InBlock.gif)
570
![](/Images/OutliningIndicators/InBlock.gif)
571
![](/Images/OutliningIndicators/InBlock.gif)
572
![](/Images/OutliningIndicators/InBlock.gif)
573
![](/Images/OutliningIndicators/InBlock.gif)
574
![](/Images/OutliningIndicators/InBlock.gif)
575
![](/Images/OutliningIndicators/InBlock.gif)
576
![](/Images/OutliningIndicators/InBlock.gif)
577
![](/Images/OutliningIndicators/InBlock.gif)
578
![](/Images/OutliningIndicators/InBlock.gif)
579
![](/Images/OutliningIndicators/InBlock.gif)
580
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
581
![](/Images/OutliningIndicators/InBlock.gif)
582
![](/Images/OutliningIndicators/InBlock.gif)
583
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
584
![](/Images/OutliningIndicators/InBlock.gif)
585
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
586
![](/Images/OutliningIndicators/InBlock.gif)
587
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
588
![](/Images/OutliningIndicators/InBlock.gif)
589
![](/Images/OutliningIndicators/InBlock.gif)
590
![](/Images/OutliningIndicators/InBlock.gif)
591
![](/Images/OutliningIndicators/InBlock.gif)
592
![](/Images/OutliningIndicators/InBlock.gif)
593
![](/Images/OutliningIndicators/InBlock.gif)
594
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
595
![](/Images/OutliningIndicators/InBlock.gif)
596
![](/Images/OutliningIndicators/InBlock.gif)
597
![](/Images/OutliningIndicators/InBlock.gif)
598
![](/Images/OutliningIndicators/InBlock.gif)
599
![](/Images/OutliningIndicators/InBlock.gif)
600
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
601
![](/Images/OutliningIndicators/InBlock.gif)
602
![](/Images/OutliningIndicators/InBlock.gif)
603
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
604
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
605
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
606
![](/Images/OutliningIndicators/None.gif)
1
using System;
2
using System.Collections.Generic;
3
using System.Data.Common;
4
using System.Text;
5![](/Images/OutliningIndicators/None.gif)
6
namespace AFC.BOM.Common.DB
7
{
8
public class DBAException : DbException
9
{
10
public DBAException(string message, Exception innerException) : base(message, innerException)
11
{
12
}
13
}
14
}
15![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
12
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
13
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
14
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
15
![](/Images/OutliningIndicators/None.gif)
在第二种中还有一些相关数据库操作,同时还有记录操作相关信息,是通过引用log4net来实现的,