1. SQLSERVERC#中数据类型的对应关系
  2.  
  3. ///<summary>
  4. ///数据库中与C#中的数据类型对照
  5. ///</summary>
  6. ///<paramname="type"></param>
  7. ///<returns></returns>
  8. privatestringChangeToCSharpType(stringtype)
  9. {
  10. stringreval=string.Empty;
  11. switch(type.ToLower())
  12. {
  13. case"int":
  14. reval="Int32";
  15. break;
  16. case"text":
  17. reval="String";
  18. break;
  19. case"bigint":
  20. reval="Int64";
  21. break;
  22. case"binary":
  23. reval="System.Byte[]";
  24. break;
  25. case"bit":
  26. reval="Boolean";
  27. break;
  28. case"char":
  29. reval="String";
  30. break;
  31. case"datetime":
  32. reval="System.DateTime";
  33. break;
  34. case"decimal":
  35. reval="System.Decimal";
  36. break;
  37. case"float":
  38. reval="System.Double";
  39. break;
  40. case"image":
  41. reval="System.Byte[]";
  42. break;
  43. case"money":
  44. reval="System.Decimal";
  45. break;
  46. case"nchar":
  47. reval="String";
  48. break;
  49. case"ntext":
  50. reval="String";
  51. break;
  52. case"numeric":
  53. reval="System.Decimal";
  54. break;
  55. case"nvarchar":
  56. reval="String";
  57. break;
  58. case"real":
  59. reval="System.Single";
  60. break;
  61. case"smalldatetime":
  62. reval="System.DateTime";
  63. break;
  64. case"smallint":
  65. reval="Int16";
  66. break;
  67. case"smallmoney":
  68. reval="System.Decimal";
  69. break;
  70. case"timestamp":
  71. reval="System.DateTime";
  72. break;
  73. case"tinyint":
  74. reval="System.Byte";
  75. break;
  76. case"uniqueidentifier":
  77. reval="System.Guid";
  78. break;
  79. case"varbinary":
  80. reval="System.Byte[]";
  81. break;
  82. case"varchar":
  83. reval="String";
  84. break;
  85. case"Variant":
  86. reval="Object";
  87. break;
  88. default:
  89. reval="String";
  90. break;
  91. }
  92. returnreval;
  93. }
  94. 我为何要找上面这篇文章呢。因为我在写程序时碰到了这样一件事:
  95. 昨天晚上写程序,程序如下:
  96. using System;
  97. using System.Data;
  98. using System.Data.SqlClient;
  99.  
  100. namespace GetStudent
  101. {
  102. /// <summary>
  103. /// Class1 的摘要说明
  104. /// </summary>
  105. class Class1
  106. {
  107. static void Main(string[] args)
  108. {
  109.  
  110. string connstr = "server=(local);Initial Catalog=BYSJ;User ID =SA;Password=;";
  111. //SqlConnection conn = new SqlConnection(connstr);
  112. SqlConnection conn = new SqlConnection();
  113. conn.ConnectionString = connstr;
  114. conn.Open();
  115. SqlCommand cmd = conn.CreateCommand();
  116. cmd.CommandText = "Select id, sName from student";
  117. SqlDataReader reader = cmd.ExecuteReader();
  118. string output;
  119. while(reader.Read())
  120. {
  121. output = string.Format("学生 {0}\t 的学号是 {1}",reader.GetString(), reader.GetString());
  122. Console.WriteLine(output);
  123. }
  124. reader.Close();
  125. conn.Close();
  126. }
  127. }
  128. }
  129.  
  130. 但是发现编译过去了,但是却读不出数据来,而且有这样的提示:InvalidCastException
  131. 我查了一下MSDN,发现这个出现的条件是指定的强制转换无效。然后发现要求:所检索的数据必须已经是字符串,所以我检查了一下数据库,把数据结构都改成了nvarchar,然后发现就可以了。真是经验啊。

SQLSERVER与C#中数据类型的对应关系的更多相关文章

  1. 数据库SQL Server与C#中数据类型的对应关系

    ylbtech- .NET-Basic:数据库SQL Server与C#中数据类型的对应关系 数据库SQL SServer与C#中数据类型的对应关系 1.A,返回顶部 数据库 C#程序 int int ...

  2. SQL SERVER与C#中数据类型的对应关系

    对应关系表 SQL Server2000 http://hovertree.com/menu/sqlserver/ C# CodeSmith 数据类型 取值范围 数据类型 取值范围 空值代替值 数据类 ...

  3. JDBC---java与数据库中数据类型的对应关系

    基础数据类型 Java 类型 SQL 类型 int 或 java.lang.Integer INTEGER long 或 java.lang.Long BIGINT short 或 java.lang ...

  4. 数据库中字段的数据类型与JAVA中数据类型的对应关系

    类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lang.String 12   CHAR N ...

  5. Sql Server中的数据类型和Mysql中的数据类型的对应关系(转)

    Sql Server中的数据类型和Mysql中的数据类型的对应关系(转):https://blog.csdn.net/lilong329329/article/details/78899477 一.S ...

  6. oracle中数据类型对应java类型

    地址: http://otndnld.Oracle.co.jp/document/products/oracle10g/102/doc_cd/Java.102/B19275-03/datacc.htm ...

  7. B-Tree索引在sqlserver和mysql中的应用

    在谈论数据库性能优化的时候,通常都会提到“索引”,但很多人其实并没有真正理解索引,也没有搞清楚索引为什么就能加快检索速度,以至于在实践中并不能很好的应用索引.事实上,索引是一种廉价而且十分有效的优化手 ...

  8. 解剖SQLSERVER 第三篇 数据类型的实现(译)

    解剖SQLSERVER 第三篇  数据类型的实现(译) http://improve.dk/implementing-data-types-in-orcamdf/ 实现对SQLSERVER数据类型的解 ...

  9. 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录

    从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO ,NAME ) DEFAULT ...

随机推荐

  1. CameraTest

    from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage #device = MonkeyRunner.wa ...

  2. RHCA442学习笔记-Unit13网络性能调整

    UNIT 13 Essential Network Tuning 网络性能调整        目标:1. 应用队列技术最大化网络吞吐量            2. 调整TCP和non-TCP网络soc ...

  3. I'm back

    亲爱的博友们, 请忽略这一条, 这只是我个人的一个记录.

  4. Android 开发第三天

    今天学习的内容

  5. python--class test

    # !usr/bin/env  python3#-*- coding:utf-8 -*- 'a test class'class Student(object):    def __init__(se ...

  6. mysq优化参数详解:innodb_buffer_pool_size,innodb_file_per_table

    Mysql配置参数: thread_pool:如果支持的话,使用线程池 innodb_buffer_pool_size:物理内存50%-70%最高80%独立实例,多实例:60% innodb_flus ...

  7. Windows redis集群搭建

    一.Windows下Redis安装 下载地址https://github.com/dmajkic/redis/downloads,下载到的Redis支持32bit和64bit.根据自己实际情况选择,本 ...

  8. 实现一个脚本语言Raven(一)

    之前实现了Raven语言的0.1版,仅仅支持表达式处理与控制语句,由于不支持数组.函数.类,甚至都不是图灵完全的语言. 现在参考vczh的博客打算重新写一遍Raven语言.陈祖不愧是神啊,高中就写出支 ...

  9. ffmpeg之YUYV转RGB ARM使用流程分析

    本例基于3.2.2 ffmpeg 一.应用调用API 二.头文件包含的API接口 对应于libswscale.so.libswscale.so.4.libswscale.so.4.2.100中 sws ...

  10. 鼠标移动到表格的TD上的时候显示成一个手型的样子怎么做?

    在除了IE6的情况下,可以通过CSS的:hover伪类来实现: 假如你想设定的固定区域为: <div id="test"></div>,那么只需要在CSS样 ...