加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 14:36:31 所属栏目:MsSql教程 来源:网络整理
导读:? // SqlDbType转换为C#数据类型 ?public static Type SqlType2CsharpType(SqlDbType sqlType) ?{ ?switch (sqlType) ?{ ??????? case SqlDbType.BigInt: ????????? return typeof(Int64); ??????? case SqlDbType.Binary: ????????? return typeof(Object);

?

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读