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;

}