架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 37|回复: 0

[资料] SQL Server类型与C#类型对应关系

[复制链接]
跳转到指定楼层
楼主
发表于 7 天前
zu
本帖最后由 QWERTYU 于 2019-11-6 17:49 编辑

SQL Server类型C#类型
bitbool
tinyintbyte
smallintshort
intint
bigintlong
realfloat
floatdouble
moneydecimal
datetimeDateTime
charstring
varcharstring
ncharstring
nvarcharstring
textstring
ntextstring
imagebyte[]
binarybyte[]
uniqueidentifierGuid

  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)
  2. // 转换为SqlDbType类型
  3. public static SqlDbType SqlTypeString2SqlType(string sqlTypeString)
  4. {
  5. SqlDbType dbType = SqlDbType.Variant;//默认为Object

  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. return SqlType2CsharpType(dbTpe);
  6. }

  7. // 将sql server中的数据类型,转化为C#中的类型的字符串
  8. public static string SqlTypeString2CsharpTypeString(string sqlTypeString)
  9. {
  10. Type type = SqlTypeString2CsharpType(sqlTypeString);

  11. return type.Name;
  12. }
复制代码





上一篇:无法向会话状态服务器发出会话状态请求,请确保 ASP.NET Stat...
下一篇:Microsoft SQL Server 数据量大 导入导出 问题汇总
帖子永久地址: 

架构师_程序员 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与架构师_程序员享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和架构师_程序员的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、架构师_程序员管理员和版主有权不事先通知发贴者而删除本文

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2019-11-13 09:33

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表