微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SqlServer数据类型、C#SqlDbType对应关系及转换

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐