Mercurial > pub > bltoolkit
comparison Source/Data/DataProvider/OdbcDataProvider.cs @ 0:f990fcb411a9
Копия текущей версии из github
| author | cin |
|---|---|
| date | Thu, 27 Mar 2014 21:46:09 +0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:f990fcb411a9 |
|---|---|
| 1 using System; | |
| 2 using System.Data; | |
| 3 using System.Data.Common; | |
| 4 using System.Data.Odbc; | |
| 5 | |
| 6 namespace BLToolkit.Data.DataProvider | |
| 7 { | |
| 8 using Sql.SqlProvider; | |
| 9 | |
| 10 /// <summary> | |
| 11 /// Implements access to the Data Provider for ODBC. | |
| 12 /// </summary> | |
| 13 /// <remarks> | |
| 14 /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. | |
| 15 /// </remarks> | |
| 16 /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataManager Method</seealso> | |
| 17 public class OdbcDataProvider : DataProviderBase | |
| 18 { | |
| 19 /// <summary> | |
| 20 /// Creates the database connection object. | |
| 21 /// </summary> | |
| 22 /// <remarks> | |
| 23 /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. | |
| 24 /// </remarks> | |
| 25 /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataManager Method</seealso> | |
| 26 /// <returns>The database connection object.</returns> | |
| 27 public override IDbConnection CreateConnectionObject() | |
| 28 { | |
| 29 return new OdbcConnection(); | |
| 30 } | |
| 31 | |
| 32 /// <summary> | |
| 33 /// Creates the data adapter object. | |
| 34 /// </summary> | |
| 35 /// <remarks> | |
| 36 /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. | |
| 37 /// </remarks> | |
| 38 /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataManager Method</seealso> | |
| 39 /// <returns>A data adapter object.</returns> | |
| 40 public override DbDataAdapter CreateDataAdapterObject() | |
| 41 { | |
| 42 return new OdbcDataAdapter(); | |
| 43 } | |
| 44 | |
| 45 /// <summary> | |
| 46 /// Populates the specified <see cref="IDbCommand"/> object's Parameters collection with | |
| 47 /// parameter information for the stored procedure specified in the <see cref="IDbCommand"/>. | |
| 48 /// </summary> | |
| 49 /// <remarks> | |
| 50 /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. | |
| 51 /// </remarks> | |
| 52 /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataManager Method</seealso> | |
| 53 /// <param name="command">The <see cref="IDbCommand"/> referencing the stored procedure for which the parameter | |
| 54 /// information is to be derived. The derived parameters will be populated into | |
| 55 /// the Parameters of this command.</param> | |
| 56 public override bool DeriveParameters(IDbCommand command) | |
| 57 { | |
| 58 OdbcCommandBuilder.DeriveParameters((OdbcCommand)command); | |
| 59 return true; | |
| 60 } | |
| 61 | |
| 62 public override object Convert(object value, ConvertType convertType) | |
| 63 { | |
| 64 switch (convertType) | |
| 65 { | |
| 66 case ConvertType.ExceptionToErrorNumber: | |
| 67 if (value is OdbcException) | |
| 68 { | |
| 69 var ex = (OdbcException)value; | |
| 70 if (ex.Errors.Count > 0) | |
| 71 return ex.Errors[0].NativeError; | |
| 72 } | |
| 73 break; | |
| 74 } | |
| 75 | |
| 76 return base.Convert(value, convertType); | |
| 77 } | |
| 78 | |
| 79 public override ISqlProvider CreateSqlProvider() | |
| 80 { | |
| 81 throw new NotSupportedException(); | |
| 82 } | |
| 83 | |
| 84 /// <summary> | |
| 85 /// Returns connection type. | |
| 86 /// </summary> | |
| 87 /// <remarks> | |
| 88 /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. | |
| 89 /// </remarks> | |
| 90 /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataManager Method</seealso> | |
| 91 /// <value>An instance of the <see cref="Type"/> class.</value> | |
| 92 public override Type ConnectionType | |
| 93 { | |
| 94 get { return typeof(OdbcConnection); } | |
| 95 } | |
| 96 | |
| 97 public const string NameString = DataProvider.ProviderName.Odbc; | |
| 98 | |
| 99 /// <summary> | |
| 100 /// Returns the data provider name. | |
| 101 /// </summary> | |
| 102 /// <remarks> | |
| 103 /// See the <see cref="DbManager.AddDataProvider(DataProviderBase)"/> method to find an example. | |
| 104 /// </remarks> | |
| 105 /// <seealso cref="DbManager.AddDataProvider(DataProviderBase)">AddDataProvider Method</seealso> | |
| 106 /// <value>Data provider name.</value> | |
| 107 public override string Name | |
| 108 { | |
| 109 get { return NameString; } | |
| 110 } | |
| 111 } | |
| 112 } |
