I have a DataColumn, want to derive the DbType. I can do column.GetType()
but that's a system type, not a db type. How do I convert it to the
corresponding type?
Thanks much!
Chris B.
Hi Chris Bordeman,
Its not possible to get the DBType via GetType(). You need to have a mapping
to get the relevent type. For eg,
private static Hashtable dbTypeTable;
private SqlDbType ConvertToDbType(Type t)
{
if(dbTypeTable == null)
{
dbTypeTable = new Hashtable();
dbTypeTable.Add(typeof(System.Boolean), SqlDbType.Bit);
dbTypeTable.Add(typeof(System.Int16), SqlDbType.SmallInt);
dbTypeTable.Add(typeof(System.Int32), SqlDbType.Int);
dbTypeTable.Add(typeof(System.Int64), SqlDbType.BigInt);
dbTypeTable.Add(typeof(System.Double), SqlDbType.Float);
dbTypeTable.Add(typeof(System.Decimal), SqlDbType.Decimal);
dbTypeTable.Add(typeof(System.String), SqlDbType.VarChar);
dbTypeTable.Add(typeof(System.DateTime), SqlDbType.DateTime);
dbTypeTable.Add(typeof(System.Byte[]), SqlDbType.VarBinary);
dbTypeTable.Add(typeof(System.Guid), SqlDbType.UniqueIdentifier);
}
SqlDbType dbtype;
try
{
dbtype = (SqlDbType)dbTypeTable[t];
}
catch
{
dbtype = SqlDbType.Variant;
}
return dbtype;
}
can be used to get the type.
Cheers,
Chester
> I have a DataColumn, want to derive the DbType. I can do column.GetType()
> but that's a system type, not a db type. How do I convert it to the
[quoted text clipped - 3 lines]
>
> Chris B.
Chris Bordeman - 16 Nov 2006 18:54 GMT
Gotcha, thanks for the mappings.
> Hi Chris Bordeman,
>
[quoted text clipped - 45 lines]
>>
>> Chris B.
Rahul - 18 Nov 2006 04:47 GMT
Hi Chester,
I was also trying to do the same in my application. But i got stuck
with few things.
Like if you have a currency column or a nvarchar column the gettype
function will return you decimal and string respectively.
Just wanted to check if you know have a work around for this.
Thanks,
Rahul
> Hi Chris Bordeman,
>
[quoted text clipped - 43 lines]
> >
> > Chris B.
Rahul - 18 Nov 2006 04:48 GMT
Hi Chester,
I was also trying to do the same in my application. But i got stuck
with few things.
Like if you have a currency column or a nvarchar column the gettype
function will return you decimal and string respectively.
Just wanted to check if you know any work-around for this.
Thanks,
Rahul
> Hi Chris Bordeman,
>
[quoted text clipped - 43 lines]
> >
> > Chris B.