Acerca de:

Este blog contiene los códigos, ejemplos y bases de datos que he usado cuando aprendía acerca de algún tema específico. En lugar de borrarlos (una vez dominado ya el tema), he decidido publicarlos :)

lunes, 23 de agosto de 2010

Cómo averiguar los tipos de datos almacenados en cada campo de una base de datos

El código está en VB6:

' rs es el recorset ya enlazado a una base de datos

Select Case rs.Fields("un_campo").Type

Case adBigInt, adBinary, adDecimal, adDouble, adNumeric, adInteger, adLongVarBinary, adSingle, _
adSmallInt, adTinyInt, adUnsignedBigInt, adUnsignedInt, adUnsignedSmallInt, adUnsignedTinyInt, _
adVarNumeric, adVarBinary, adBoolean
        ' Hacer cosas con datos de tipo numérico
   
Case adBSTR, adChar, adLongVarChar, adLongVarWChar, adVarChar, adVarWChar, adWChar, _
adVariant
        ' Hacer cosas con datos de tipo texto o caracteres
   
Case adDate, adDBDate, adDBTime, adDBTimeStamp
        If IsDate(lo que hay en el campo) Then
               ' Esto funciona sólo para Access y SQL Server
        End If
        ' Para Oracle se debe usar la función TO_DATE(lo que hay en el campo, formato de fecha)
        ' el formato de fecha es DD/MM/YY por defecto.
Case Else
       ' El formato de imágenes para estas tres bases de datos es en VB6 el tipo AdLongVarBinary, 
       ' el cual tiene el valor de 205.
End Select