Exemple #1
0
        public static DbType ToDbType(Type type, ref object realValue)
        {
            DbType dbType = DbType.AnsiString;

            if (type.Equals(typeof(string)))
            {
                dbType = DbType.AnsiString;
            }
            else if (type.Equals(typeof(short)))
            {
                dbType = DbType.Int16;
            }
            else if (type.Equals(typeof(int)))
            {
                dbType = DbType.Int32;
            }
            else if (type.Equals(typeof(long)))
            {
                dbType = DbType.Int64;
            }
            else if (type.Equals(typeof(DateTime)))
            {
                dbType = DbType.DateTime;
            }
            else if (type.Equals(typeof(bool)))
            {
                dbType    = DbType.Boolean;
                realValue = (bool.Parse(realValue.ToString()) ? 1 : 0);
            }
            else if (type.Equals(typeof(double)))
            {
                dbType = DbType.Double;
            }
            else if (type.Equals(typeof(float)))
            {
                dbType = DbType.Single;
            }
            else if (type.Equals(typeof(byte)))
            {
                dbType = DbType.Byte;
            }
            else if (type.Equals(typeof(byte[])))
            {
                dbType = DbType.Binary;
            }
            else if (type.GetTypeInfo().IsSubclassOf(typeof(ICode)))
            {
                dbType = DbType.AnsiString;
            }
            else if (type.GetTypeInfo().IsSubclassOf(typeof(INumericCode)))
            {
                dbType = DbType.Int32;
            }
            MapperParameter.ChangeToSqlValue(dbType, ref realValue);
            return(dbType);
        }
Exemple #2
0
        public static DbType ToDbType(SqlDataType type, ref object realValue)
        {
            DbType dbType = DbType.AnsiString;

            if (type == SqlDataType.NVarChar)
            {
                dbType = DbType.String;
            }
            else if (type == SqlDataType.Char)
            {
                dbType = DbType.AnsiStringFixedLength;
                if (realValue is bool)
                {
                    realValue = ((bool)realValue ? "Y" : "N");
                }
            }
            else if (type == SqlDataType.NChar)
            {
                dbType = DbType.StringFixedLength;
            }
            else if (type == SqlDataType.Int)
            {
                dbType = DbType.Int32;
            }
            else if (type == SqlDataType.SmallInt)
            {
                dbType = DbType.Int16;
            }
            else if (type == SqlDataType.BigInt)
            {
                dbType = DbType.Int64;
            }
            else if (type == SqlDataType.DateTime)
            {
                dbType = DbType.DateTime;
            }
            else if (type == SqlDataType.Bit)
            {
                dbType    = DbType.Boolean;
                realValue = (bool.Parse(realValue.ToString()) ? 1 : 0);
            }
            else if (type == SqlDataType.Decimal)
            {
                dbType = DbType.Decimal;
            }
            else if (type == SqlDataType.Binary)
            {
                dbType = DbType.Binary;
            }
            MapperParameter.ChangeToSqlValue(dbType, ref realValue);
            return(dbType);
        }