SQLSERVER与C#中数据类型的对应关系
- SQLSERVER与C#中数据类型的对应关系
- ///<summary>
- ///数据库中与C#中的数据类型对照
- ///</summary>
- ///<paramname="type"></param>
- ///<returns></returns>
- privatestringChangeToCSharpType(stringtype)
- {
- stringreval=string.Empty;
- switch(type.ToLower())
- {
- case"int":
- reval="Int32";
- break;
- case"text":
- reval="String";
- break;
- case"bigint":
- reval="Int64";
- break;
- case"binary":
- reval="System.Byte[]";
- break;
- case"bit":
- reval="Boolean";
- break;
- case"char":
- reval="String";
- break;
- case"datetime":
- reval="System.DateTime";
- break;
- case"decimal":
- reval="System.Decimal";
- break;
- case"float":
- reval="System.Double";
- break;
- case"image":
- reval="System.Byte[]";
- break;
- case"money":
- reval="System.Decimal";
- break;
- case"nchar":
- reval="String";
- break;
- case"ntext":
- reval="String";
- break;
- case"numeric":
- reval="System.Decimal";
- break;
- case"nvarchar":
- reval="String";
- break;
- case"real":
- reval="System.Single";
- break;
- case"smalldatetime":
- reval="System.DateTime";
- break;
- case"smallint":
- reval="Int16";
- break;
- case"smallmoney":
- reval="System.Decimal";
- break;
- case"timestamp":
- reval="System.DateTime";
- break;
- case"tinyint":
- reval="System.Byte";
- break;
- case"uniqueidentifier":
- reval="System.Guid";
- break;
- case"varbinary":
- reval="System.Byte[]";
- break;
- case"varchar":
- reval="String";
- break;
- case"Variant":
- reval="Object";
- break;
- default:
- reval="String";
- break;
- }
- returnreval;
- }
- 我为何要找上面这篇文章呢。因为我在写程序时碰到了这样一件事:
- 昨天晚上写程序,程序如下:
- using System;
- using System.Data;
- using System.Data.SqlClient;
- namespace GetStudent
- {
- /// <summary>
- /// Class1 的摘要说明
- /// </summary>
- class Class1
- {
- static void Main(string[] args)
- {
- string connstr = "server=(local);Initial Catalog=BYSJ;User ID =SA;Password=;";
- //SqlConnection conn = new SqlConnection(connstr);
- SqlConnection conn = new SqlConnection();
- conn.ConnectionString = connstr;
- conn.Open();
- SqlCommand cmd = conn.CreateCommand();
- cmd.CommandText = "Select id, sName from student";
- SqlDataReader reader = cmd.ExecuteReader();
- string output;
- while(reader.Read())
- {
- output = string.Format("学生 {0}\t 的学号是 {1}",reader.GetString(), reader.GetString());
- Console.WriteLine(output);
- }
- reader.Close();
- conn.Close();
- }
- }
- }
- 但是发现编译过去了,但是却读不出数据来,而且有这样的提示:InvalidCastException。
- 我查了一下MSDN,发现这个出现的条件是指定的强制转换无效。然后发现要求:所检索的数据必须已经是字符串,所以我检查了一下数据库,把数据结构都改成了nvarchar,然后发现就可以了。真是经验啊。
SQLSERVER与C#中数据类型的对应关系的更多相关文章
- 数据库SQL Server与C#中数据类型的对应关系
ylbtech- .NET-Basic:数据库SQL Server与C#中数据类型的对应关系 数据库SQL SServer与C#中数据类型的对应关系 1.A,返回顶部 数据库 C#程序 int int ...
- SQL SERVER与C#中数据类型的对应关系
对应关系表 SQL Server2000 http://hovertree.com/menu/sqlserver/ C# CodeSmith 数据类型 取值范围 数据类型 取值范围 空值代替值 数据类 ...
- JDBC---java与数据库中数据类型的对应关系
基础数据类型 Java 类型 SQL 类型 int 或 java.lang.Integer INTEGER long 或 java.lang.Long BIGINT short 或 java.lang ...
- 数据库中字段的数据类型与JAVA中数据类型的对应关系
类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang.String 12 CHAR N ...
- Sql Server中的数据类型和Mysql中的数据类型的对应关系(转)
Sql Server中的数据类型和Mysql中的数据类型的对应关系(转):https://blog.csdn.net/lilong329329/article/details/78899477 一.S ...
- oracle中数据类型对应java类型
地址: http://otndnld.Oracle.co.jp/document/products/oracle10g/102/doc_cd/Java.102/B19275-03/datacc.htm ...
- B-Tree索引在sqlserver和mysql中的应用
在谈论数据库性能优化的时候,通常都会提到“索引”,但很多人其实并没有真正理解索引,也没有搞清楚索引为什么就能加快检索速度,以至于在实践中并不能很好的应用索引.事实上,索引是一种廉价而且十分有效的优化手 ...
- 解剖SQLSERVER 第三篇 数据类型的实现(译)
解剖SQLSERVER 第三篇 数据类型的实现(译) http://improve.dk/implementing-data-types-in-orcamdf/ 实现对SQLSERVER数据类型的解 ...
- 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录
从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO ,NAME ) DEFAULT ...
随机推荐
- CameraTest
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage #device = MonkeyRunner.wa ...
- RHCA442学习笔记-Unit13网络性能调整
UNIT 13 Essential Network Tuning 网络性能调整 目标:1. 应用队列技术最大化网络吞吐量 2. 调整TCP和non-TCP网络soc ...
- I'm back
亲爱的博友们, 请忽略这一条, 这只是我个人的一个记录.
- Android 开发第三天
今天学习的内容
- python--class test
# !usr/bin/env python3#-*- coding:utf-8 -*- 'a test class'class Student(object): def __init__(se ...
- mysq优化参数详解:innodb_buffer_pool_size,innodb_file_per_table
Mysql配置参数: thread_pool:如果支持的话,使用线程池 innodb_buffer_pool_size:物理内存50%-70%最高80%独立实例,多实例:60% innodb_flus ...
- Windows redis集群搭建
一.Windows下Redis安装 下载地址https://github.com/dmajkic/redis/downloads,下载到的Redis支持32bit和64bit.根据自己实际情况选择,本 ...
- 实现一个脚本语言Raven(一)
之前实现了Raven语言的0.1版,仅仅支持表达式处理与控制语句,由于不支持数组.函数.类,甚至都不是图灵完全的语言. 现在参考vczh的博客打算重新写一遍Raven语言.陈祖不愧是神啊,高中就写出支 ...
- ffmpeg之YUYV转RGB ARM使用流程分析
本例基于3.2.2 ffmpeg 一.应用调用API 二.头文件包含的API接口 对应于libswscale.so.libswscale.so.4.libswscale.so.4.2.100中 sws ...
- 鼠标移动到表格的TD上的时候显示成一个手型的样子怎么做?
在除了IE6的情况下,可以通过CSS的:hover伪类来实现: 假如你想设定的固定区域为: <div id="test"></div>,那么只需要在CSS样 ...