// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-using System;\r
-\r
-namespace System.Data.Odbc\r
-{\r
- /// <summary>\r
- /// Summary description for OdbcColumn.\r
- /// </summary>\r
- internal class OdbcColumn\r
- {\r
- internal string ColumnName;\r
- internal OdbcType OdbcType;\r
+using System;
+
+namespace System.Data.Odbc
+{
+ /// <summary>
+ /// Summary description for OdbcColumn.
+ /// </summary>
+ internal class OdbcColumn
+ {
+ internal string ColumnName;
+ internal OdbcType OdbcType;
private SQL_TYPE _sqlType = SQL_TYPE.UNASSIGNED;
private SQL_C_TYPE _sqlCType = SQL_C_TYPE.UNASSIGNED;
- internal bool AllowDBNull;\r
- internal int MaxLength;\r
- internal int Digits;\r
- internal object Value;\r
-\r
- internal OdbcColumn(string Name, OdbcType Type)\r
- {\r
- this.ColumnName=Name;\r
- this.OdbcType=Type; \r
- AllowDBNull=false;\r
- MaxLength=0;\r
- Digits=0;\r
- Value=null;\r
- }\r
+ internal bool AllowDBNull;
+ internal int MaxLength;
+ internal int Digits;
+ internal object Value;
+
+ internal OdbcColumn (string Name, OdbcType Type)
+ {
+ this.ColumnName = Name;
+ this.OdbcType = Type;
+ AllowDBNull = false;
+ MaxLength = 0;
+ Digits = 0;
+ Value = null;
+ }
- internal OdbcColumn(string Name, SQL_TYPE type)
+ internal OdbcColumn (string Name, SQL_TYPE type)
{
- this.ColumnName=Name;
- AllowDBNull=false;
- MaxLength=0;
- Digits=0;
- Value=null;
+ this.ColumnName = Name;
+ AllowDBNull = false;
+ MaxLength = 0;
+ Digits = 0;
+ Value = null;
UpdateTypes (type);
}
-\r
- internal Type DataType\r
- {\r
- get\r
- {\r
- switch (OdbcType)\r
- {\r
- case OdbcType.TinyInt:\r
- return typeof(System.Byte);\r
- case OdbcType.BigInt: \r
- return typeof(System.Int64);\r
- case OdbcType.Image:\r
- case OdbcType.VarBinary:\r
- case OdbcType.Binary:\r
- return typeof(byte[]);\r
- case OdbcType.Bit:\r
- return typeof(bool);\r
- case OdbcType.NChar:\r
- case OdbcType.Char:\r
- return typeof(char);\r
- case OdbcType.Time:\r
- case OdbcType.Timestamp:\r
- case OdbcType.DateTime:\r
- case OdbcType.Date:\r
- case OdbcType.SmallDateTime:\r
- return typeof(DateTime);\r
- case OdbcType.Decimal:\r
- return typeof(Decimal);\r
- case OdbcType.Numeric:\r
- case OdbcType.Double:\r
- return typeof(Double);\r
- case OdbcType.Int:\r
- return typeof(System.Int32);\r
- case OdbcType.Text:\r
- case OdbcType.NText:\r
- case OdbcType.NVarChar:\r
- case OdbcType.VarChar:\r
- return typeof(string);\r
- case OdbcType.Real:\r
- return typeof(float);\r
- case OdbcType.SmallInt:\r
- return typeof(System.Int16);\r
- case OdbcType.UniqueIdentifier:\r
- return typeof(Guid);\r
- }\r
- throw new InvalidCastException();\r
- }\r
- }\r
-\r
- internal bool IsDateType\r
- {\r
- get\r
- {\r
- switch (OdbcType)\r
- {\r
- case OdbcType.Time:\r
- case OdbcType.Timestamp:\r
- case OdbcType.DateTime:\r
- case OdbcType.Date:\r
- case OdbcType.SmallDateTime:\r
- return true;\r
- default:\r
- return false;\r
- }\r
- }\r
- }\r
-\r
- internal bool IsStringType\r
- {\r
- get\r
- {\r
- switch (OdbcType)\r
- {\r
- case OdbcType.Char:\r
- case OdbcType.Text:\r
- case OdbcType.NText:\r
- case OdbcType.NVarChar:\r
- case OdbcType.VarChar:\r
- return true;\r
- default:\r
- return false;\r
- }\r
- }\r
- }\r
+
+ internal Type DataType
+ {
+ get
+ {
+ switch (OdbcType)
+ {
+ case OdbcType.TinyInt:
+ return typeof (System.Byte);
+ case OdbcType.BigInt:
+ return typeof (System.Int64);
+ case OdbcType.Image:
+ case OdbcType.VarBinary:
+ case OdbcType.Binary:
+ return typeof (byte[]);
+ case OdbcType.Bit:
+ return typeof (bool);
+ case OdbcType.NChar:
+ case OdbcType.Char:
+ return typeof (string);
+ case OdbcType.Time:
+ return typeof (TimeSpan);
+ case OdbcType.Timestamp:
+ case OdbcType.DateTime:
+ case OdbcType.Date:
+ case OdbcType.SmallDateTime:
+ return typeof (DateTime);
+ case OdbcType.Decimal:
+ return typeof (Decimal);
+ case OdbcType.Numeric:
+ case OdbcType.Double:
+ return typeof (Double);
+ case OdbcType.Int:
+ return typeof (System.Int32);
+ case OdbcType.Text:
+ case OdbcType.NText:
+ case OdbcType.NVarChar:
+ case OdbcType.VarChar:
+ return typeof (string);
+ case OdbcType.Real:
+ return typeof (float);
+ case OdbcType.SmallInt:
+ return typeof (System.Int16);
+ case OdbcType.UniqueIdentifier:
+ return typeof (Guid);
+ }
+ throw new InvalidCastException();
+ }
+ }
+
+ internal bool IsDateType
+ {
+ get
+ {
+ switch (OdbcType)
+ {
+ case OdbcType.Time:
+ case OdbcType.Timestamp:
+ case OdbcType.DateTime:
+ case OdbcType.Date:
+ case OdbcType.SmallDateTime:
+ return true;
+ default:
+ return false;
+ }
+ }
+ }
+
+ internal bool IsStringType
+ {
+ get
+ {
+ switch (OdbcType)
+ {
+ case OdbcType.Char:
+ case OdbcType.Text:
+ case OdbcType.NText:
+ case OdbcType.NVarChar:
+ case OdbcType.VarChar:
+ return true;
+ default:
+ return false;
+ }
+ }
+ }
+
+ internal bool IsVariableSizeType {
+ get {
+ if (IsStringType)
+ return true;
+ switch (OdbcType) {
+ case OdbcType.Binary :
+ case OdbcType.VarBinary :
+ case OdbcType.Image :
+ return true;
+ default :
+ return false;
+ }
+ }
+ }
internal SQL_TYPE SqlType
{
get {
if ( _sqlType == SQL_TYPE.UNASSIGNED)
- _sqlType = OdbcTypeConverter.ConvertToSqlType (OdbcType);
+ _sqlType = OdbcTypeConverter.GetTypeMap (OdbcType).SqlType;
return _sqlType;
}
get {
if ( _sqlCType == SQL_C_TYPE.UNASSIGNED)
- _sqlCType = OdbcTypeConverter.ConvertToSqlCType (OdbcType);
+ _sqlCType = OdbcTypeConverter.GetTypeMap (OdbcType).NativeType;
return _sqlCType;
}
set {_sqlCType = value;}
internal void UpdateTypes (SQL_TYPE sqlType)
{
SqlType = sqlType;
- OdbcTypeConverter.TypeMap map = OdbcTypeConverter.GetTypeMap (SqlType);
+ OdbcTypeMap map = OdbcTypeConverter.GetTypeMap (SqlType);
OdbcType = map.OdbcType;
- SqlCType = map.SqlCType;
+ SqlCType = map.NativeType;
}
-
-
-\r
- }\r
-}\r
+ }
+}