架構師_程序員

 找回密碼
 注冊[Register]

QQ登錄

只需一步,快速開始

查看: 165|回復: 0

[資料] SQL Server類型與C#類型對應關系

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2019-11-6 17:46:53
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, 2020-1-24 13:00

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表
吉林快三走势图