SqlServer数据类型、C#SqlDbType对应关系及转换(附代码)

// SqlDbType转换为C#数据类型
public static Type SqlType2CsharpType(SqlDbType sqlType)
{
    switch (sqlType)
    {
        case SqlDbType.BigInt:
            return typeof(Int64);
        case SqlDbType.Binary:
            return typeof(Object);
        case SqlDbType.Bit:
            return typeof(Boolean);
        case SqlDbType.Char:
            return typeof(String);
        case SqlDbType.DateTime:
            return typeof(DateTime);
        case SqlDbType.Decimal:
            return typeof(Decimal);
        case SqlDbType.Float:
            return typeof(Double);
        case SqlDbType.Image:
            return typeof(Object);
        case SqlDbType.Int:
            return typeof(Int32);
        case SqlDbType.Money:
            return typeof(Decimal);
        case SqlDbType.NChar:
            return typeof(String);
        case SqlDbType.NText:
            return typeof(String);
        case SqlDbType.NVarChar:
            return typeof(String);
        case SqlDbType.Real:
            return typeof(Single);
        case SqlDbType.SmallDateTime:
            return typeof(DateTime);
        case SqlDbType.SmallInt:
            return typeof(Int16);
        case SqlDbType.SmallMoney:
            return typeof(Decimal);
        case SqlDbType.Text:
            return typeof(String);
        case SqlDbType.Timestamp:
            return typeof(Object);
        case SqlDbType.TinyInt:
            return typeof(Byte);
        case SqlDbType.Udt://自定义的数据类型
            return typeof(Object);
        case SqlDbType.UniqueIdentifier:
            return typeof(Object);
        case SqlDbType.VarBinary:
            return typeof(Object);
        case SqlDbType.VarChar:
            return typeof(String);
        case SqlDbType.Variant:
            return typeof(Object);
        case SqlDbType.Xml:
            return typeof(Object);
        default:
            return null;
    }
}
// sql server数据类型(如:varchar)转换为SqlDbType类型
public static SqlDbType SqlTypeToSqlDbType(string sqlTypeString)
{
    SqlDbType dbType = SqlDbType.Variant;//默认为Object

    switch (sqlTypeString.ToLower())
    {
        case "int":
            dbType = SqlDbType.Int;
            break;
        case "varchar":
            dbType = SqlDbType.VarChar;
            break;
        case "bit":
            dbType = SqlDbType.Bit;
            break;
        case "datetime":
            dbType = SqlDbType.DateTime;
            break;
        case "decimal":
            dbType = SqlDbType.Decimal;
            break;
        case "float":
            dbType = SqlDbType.Float;
            break;
        case "image":
            dbType = SqlDbType.Image;
            break;
        case "money":
            dbType = SqlDbType.Money;
            break;
        case "ntext":
            dbType = SqlDbType.NText;
            break;
        case "nvarchar":
            dbType = SqlDbType.NVarChar;
            break;
        case "smalldatetime":
            dbType = SqlDbType.SmallDateTime;
            break;
        case "smallint":
            dbType = SqlDbType.SmallInt;
            break;
        case "text":
            dbType = SqlDbType.Text;
            break;
        case "bigint":
            dbType = SqlDbType.BigInt;
            break;
        case "binary":
            dbType = SqlDbType.Binary;
            break;
        case "char":
            dbType = SqlDbType.Char;
            break;
        case "nchar":
            dbType = SqlDbType.NChar;
            break;
        case "numeric":
            dbType = SqlDbType.Decimal;
            break;
        case "real":
            dbType = SqlDbType.Real;
            break;
        case "smallmoney":
            dbType = SqlDbType.SmallMoney;
            break;
        case "sql_variant":
            dbType = SqlDbType.Variant;
            break;
        case "timestamp":
            dbType = SqlDbType.Timestamp;
            break;
        case "tinyint":
            dbType = SqlDbType.TinyInt;
            break;
        case "uniqueidentifier":
            dbType = SqlDbType.UniqueIdentifier;
            break;
        case "varbinary":
            dbType = SqlDbType.VarBinary;
            break;
        case "xml":
            dbType = SqlDbType.Xml;
            break;
    }
    return dbType;
}

转 https://www.cnblogs.com/jushen7925/p/10239807.html 

posted @ 2020-02-20 09:20  黑默丁格  阅读(730)  评论(0编辑  收藏  举报