Sqlserver中数据类型与C#中数据类型转换
// 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;
}
// 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;
}