首页 > 代码库 > SQL Server类型与C#类型对应关系

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

SQL Server类型C#类型
bitbool
tinyintbyte
smallintshort
intint
bigintlong
realfloat
floatdouble
moneydecimal
datetimeDateTime
charstring
varcharstring
ncharstring
nvarcharstring
textstring
ntextstring
imagebyte[]
binarybyte[]
uniqueidentifierGuid

/ 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;}

 

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