2024年4月19日发(作者:)

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

SQL类型

bit

tinyint

smallint

int

bigint

real

float

money

datetime

char

varchar

nchar

nvarchar

text

ntext

image

binary

uniqueidentifier

//SqlDbType转换为C#数据类型

public static Type SqlType2CsharpType(SqlDbType sqlType)

{

switch (sqlType)

{

case :

return typeof(Int64);

case :

return typeof(Object);

case :

return typeof(Boolean);

case :

return typeof(String);

case me:

return typeof(DateTime);

case l:

return typeof(Decimal);

case :

C#类型

bool

byte

short

int

long

float

double

decimal

DateTime

string

string

string

string

string

string

byte[]

byte[]

Guid

return typeof(Double);

case :

return typeof(Object);

case :

return typeof(Int32);

case :

return typeof(Decimal);

case :

return typeof(String);

case :

return typeof(String);

case ar:

return typeof(String);

case :

return typeof(Single);

case ateTime:

return typeof(DateTime);

case nt:

return typeof(Int16);

case oney:

return typeof(Decimal);

case :

return typeof(String);

case amp:

return typeof(Object);

case t:

return typeof(Byte);

case ://自定义的数据类型

return typeof(Object);

case Identifier:

return typeof(Object);

case ary:

return typeof(Object);

case r:

return typeof(String);

case t:

return typeof(Object);

case :

return typeof(Object);

default:

return null;

}

}

代码:

// sql server数据类型(如:varchar)

// 转换为SqlDbType类型

public static SqlDbType SqlTypeString2SqlType(string sqlTypeString)

{

SqlDbType dbType = t;//默认为Object

switch (sqlTypeString)

{

case "int":

dbType = ;

break;

case "varchar":

dbType = r;

break;

case "bit":

dbType = ;

break;

case "datetime":

dbType = me;

break;

case "decimal":

dbType = l;

break;

case "float":

dbType = ;

break;

case "image":

dbType = ;

break;

case "money":

dbType = ;

break;

case "ntext":

dbType = ;

break;

case "nvarchar":

dbType = ar;

break;

case "smalldatetime":

dbType = ateTime;

break;

case "smallint":

dbType = nt;

break;

case "text":

dbType = ;

break;

case "bigint":

dbType = ;

break;

case "binary":

dbType = ;

break;

case "char":

dbType = ;

break;

case "nchar":

dbType = ;

break;

case "numeric":

dbType = l;

break;

case "real":

dbType = ;

break;

case "smallmoney":

dbType = oney;

break;

case "sql_variant":

dbType = t;

break;

case "timestamp":

dbType = amp;

break;

case "tinyint":

dbType = t;

break;

case "uniqueidentifier":

dbType = Identifier;

break;

case "varbinary":

dbType = ary;

break;

case "xml":

dbType = ;

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 ;

}