in isam/DatabaseCommon.cs [190:266]
internal static JET_coltyp ColtypFromColumnDefinition(ColumnDefinition columnDefinition)
{
if (columnDefinition.Type == typeof(bool))
{
return JET_coltyp.Bit;
}
else if (columnDefinition.Type == typeof(byte))
{
return JET_coltyp.UnsignedByte;
}
else if (columnDefinition.Type == typeof(char))
{
return VistaColtyp.UnsignedShort;
}
else if (columnDefinition.Type == typeof(System.DateTime))
{
return JET_coltyp.DateTime;
}
else if (columnDefinition.Type == typeof(double))
{
return JET_coltyp.IEEEDouble;
}
else if (columnDefinition.Type == typeof(short))
{
return JET_coltyp.Short;
}
else if (columnDefinition.Type == typeof(int))
{
return JET_coltyp.Long;
}
else if (columnDefinition.Type == typeof(long))
{
return VistaColtyp.LongLong;
}
else if (columnDefinition.Type == typeof(float))
{
return JET_coltyp.IEEESingle;
}
else if (columnDefinition.Type == typeof(string))
{
if (columnDefinition.MaxLength > 0 && columnDefinition.MaxLength <= 255)
{
return JET_coltyp.Text;
}
else
{
return JET_coltyp.LongText;
}
}
else if (columnDefinition.Type == typeof(ushort))
{
return VistaColtyp.UnsignedShort;
}
else if (columnDefinition.Type == typeof(uint))
{
return VistaColtyp.UnsignedLong;
}
else if (columnDefinition.Type == typeof(byte[]))
{
if (columnDefinition.MaxLength > 0 && columnDefinition.MaxLength <= 255)
{
return JET_coltyp.Binary;
}
else
{
return JET_coltyp.LongBinary;
}
}
else if (columnDefinition.Type == typeof(System.Guid))
{
return VistaColtyp.GUID;
}
else
{
throw new ArgumentException("Cannot map this type to a native column type");
}
}