• SQL Server类型与C#类型对应关系


    SQL Server类型C#类型
    bit bool
    tinyint byte
    smallint short
    int int
    bigint long
    real float
    float double
    money decimal
    datetime DateTime
    char string
    varchar string
    nchar string
    nvarchar string
    text string
    ntext string
    image byte[]
    binary byte[]
    uniqueidentifier Guid

    / 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 SqlTypeString2SqlType(string sqlTypeString)
    {
        SqlDbType dbType = SqlDbType.Variant;//默认为Object
    
        switch (sqlTypeString)
        {
            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;
    }
    // sql server中的数据类型,转换为C#中的类型类型
    public static Type SqlTypeString2CsharpType(string sqlTypeString)
    {
        SqlDbType dbTpe = SqlTypeString2SqlType(sqlTypeString);
    
        return SqlType2CsharpType(dbTpe);
    }
    
    // 将sql server中的数据类型,转化为C#中的类型的字符串
    public static string SqlTypeString2CsharpTypeString(string sqlTypeString)
    {
        Type type = SqlTypeString2CsharpType(sqlTypeString);
    
        return type.Name;
    }
  • 相关阅读:
    约瑟夫解决问题的循环链表
    [Erlang危机](5.1.0)VM检测概述
    找呀志_java网络编程(5)TCP和udp差额
    有序输出两棵二叉查找树中的元素
    1234567选择3个数字组合
    八皇后问题
    矩阵乘法运算
    求π的近似值
    证明不小于6的偶数都是两个素数之和
    最大公约数最小公倍数
  • 原文地址:https://www.cnblogs.com/wolfocme110/p/4186204.html
Copyright © 2020-2023  润新知