C#中的类型和SQL Server中的类型对应关系

 

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
 
 

相关代码如下:

 
   1:  // SqlDbType转换为C#数据类型
   2:      public static Type SqlType2CsharpType(SqlDbType sqlType)
   3:      {
   4:          switch (sqlType)
   5:          {
   6:                 case SqlDbType.BigInt:
   7:                   return typeof(Int64);
   8:                 case SqlDbType.Binary:
   9:                   return typeof(Object);
  10:                 case SqlDbType.Bit:
  11:                   return typeof(Boolean);
  12:                 case SqlDbType.Char:
  13:                   return typeof(String);
  14:                 case SqlDbType.DateTime:
  15:                   return typeof(DateTime);
  16:                 case SqlDbType.Decimal:
  17:                   return typeof(Decimal);
  18:                 case SqlDbType.Float:
  19:                   return typeof(Double);
  20:                 case SqlDbType.Image:
  21:                   return typeof(Object);
  22:                 case SqlDbType.Int:
  23:                   return typeof(Int32);
  24:                 case SqlDbType.Money:
  25:                   return typeof(Decimal);
  26:                 case SqlDbType.NChar:
  27:                   return typeof(String);
  28:                 case SqlDbType.NText:
  29:                   return typeof(String);
  30:                 case SqlDbType.NVarChar:
  31:                   return typeof(String);
  32:                 case SqlDbType.Real:
  33:                   return typeof(Single);
  34:                 case SqlDbType.SmallDateTime:
  35:                   return typeof(DateTime);
  36:                 case SqlDbType.SmallInt:
  37:                   return typeof(Int16);
  38:                 case SqlDbType.SmallMoney:
  39:                   return typeof(Decimal);
  40:                 case SqlDbType.Text:
  41:                   return typeof(String);
  42:                 case SqlDbType.Timestamp:
  43:                   return typeof(Object);
  44:                 case SqlDbType.TinyInt:
  45:                   return typeof(Byte);
  46:                 case SqlDbType.Udt://自定义的数据类型
  47:                   return typeof(Object);
  48:                 case SqlDbType.UniqueIdentifier:
  49:                   return typeof(Object);
  50:                 case SqlDbType.VarBinary:
  51:                   return typeof(Object);
  52:                 case SqlDbType.VarChar:
  53:                   return typeof(String);
  54:                 case SqlDbType.Variant:
  55:                   return typeof(Object);
  56:                 case SqlDbType.Xml:
  57:                   return typeof(Object);
  58:                 default:
  59:                   return null;
  60:          }
  61:      } 
 
   1:          // sql server数据类型(如:varchar)转换为SqlDbType类型
   2:          public static SqlDbType SqlTypeString2SqlType(string sqlTypeString)
   3:          {
   4:              SqlDbType dbType = SqlDbType.Variant;//默认为Object
   5:   
   6:              switch (sqlTypeString)
   7:              {
   8:                  case "int":
   9:                      dbType = SqlDbType.Int;
  10:                      break;
  11:                  case "varchar":
  12:                      dbType = SqlDbType.VarChar;
  13:                      break;
  14:                  case "bit":
  15:                      dbType = SqlDbType.Bit;
  16:                      break;
  17:                  case "datetime":
  18:                      dbType = SqlDbType.DateTime;
  19:                      break;
  20:                  case "decimal":
  21:                      dbType = SqlDbType.Decimal;
  22:                      break;
  23:                  case "float":
  24:                      dbType = SqlDbType.Float;
  25:                      break;
  26:                  case "image":
  27:                      dbType = SqlDbType.Image;
  28:                      break;
  29:                  case "money":
  30:                      dbType = SqlDbType.Money;
  31:                      break;
  32:                  case "ntext":
  33:                      dbType = SqlDbType.NText;
  34:                      break;
  35:                  case "nvarchar":
  36:                      dbType = SqlDbType.NVarChar;
  37:                      break;
  38:                  case "smalldatetime":
  39:                      dbType = SqlDbType.SmallDateTime;
  40:                      break;
  41:                  case "smallint":
  42:                      dbType = SqlDbType.SmallInt;
  43:                      break;
  44:                  case "text":
  45:                      dbType = SqlDbType.Text;
  46:                      break;
  47:                  case "bigint":
  48:                      dbType = SqlDbType.BigInt;
  49:                      break;
  50:                  case "binary":
  51:                      dbType = SqlDbType.Binary;
  52:                      break;
  53:                  case "char":
  54:                      dbType = SqlDbType.Char;
  55:                      break;
  56:                  case "nchar":
  57:                      dbType = SqlDbType.NChar;
  58:                      break;
  59:                  case "numeric":
  60:                      dbType = SqlDbType.Decimal;
  61:                      break;
  62:                  case "real":
  63:                      dbType = SqlDbType.Real;
  64:                      break;
  65:                  case "smallmoney":
  66:                      dbType = SqlDbType.SmallMoney;
  67:                      break;
  68:                  case "sql_variant":
  69:                      dbType = SqlDbType.Variant;
  70:                      break;
  71:                  case "timestamp":
  72:                      dbType = SqlDbType.Timestamp;
  73:                      break;
  74:                  case "tinyint":
  75:                      dbType = SqlDbType.TinyInt;
  76:                      break;
  77:                  case "uniqueidentifier":
  78:                      dbType = SqlDbType.UniqueIdentifier;
  79:                      break;
  80:                  case "varbinary":
  81:                      dbType = SqlDbType.VarBinary;
  82:                      break;
  83:                  case "xml":
  84:                      dbType = SqlDbType.Xml;
  85:                      break;
  86:              }
  87:              return dbType;
  88:          }
 
   1:          // sql server中的数据类型,转换为C#中的类型类型
   2:          public static Type SqlTypeString2CsharpType(string sqlTypeString)
   3:          {
   4:              SqlDbType dbTpe = SqlTypeString2SqlType(sqlTypeString);
   5:   
   6:              return SqlType2CsharpType(dbTpe);
   7:          }
   8:   
   9:          // 将sql server中的数据类型,转化为C#中的类型的字符串
  10:          public static string SqlTypeString2CsharpTypeString(string sqlTypeString)
  11:          {
  12:              Type type = SqlTypeString2CsharpType(sqlTypeString);
  13:   
  14:              return type.Name;
  15:          }
posted @ 2012-09-06 08:42  ChaoSimple  阅读(1598)  评论(0编辑  收藏  举报