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#中数据类型的对应关系的更多相关文章

  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. play wav sound

    播放 WAV文件             string s = @"D:\Administrator\安装文件\完美世界国际版\patcher\skin\sounds\click.wav&q ...

  2. block_dump观察Linux IO写入的具体文件(mysqld)

      一.使用方法: 二.基本原理: 三.总结 很多情况下开发者调测程序需要在Linux下获取具体的IO的状况,目前常用的IO观察工具用vmstat和iostat,具体功能上说当然是iostat更胜一筹 ...

  3. LINUX 内核月报 taobao

    http://kernel.taobao.org/index.php?title=Monthly_Kernel_Reports

  4. mysql sqlmap 注入尝试

    假设注入点为 http://www.abc.com/news.php?id=12 //探测数据库信息 sqlmap -u http://www.abc.com/news.php?id=12 –dbs ...

  5. modelsim将波形文件保存下来却不打开图形界面

    vsim -c -do sim.tcl -l sim.log 波形怎么保存啊,我想把波形保存下来,但不显示,想看那个信号时在加上,不然信号全部出来了太乱了 在do文件里写add wave -r *ru ...

  6. pcap支持Python2.7.8解决办法

    pcap库只支持到python2.5. pip install pcap在python2.7.8找不到. 只需要将网盘的2个文件放到python安装目录下lib/site-package文件夹即可 链 ...

  7. hdu 1570 AC

    A C Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  8. css字体转换程序(Node.js)

    我下载的是ttf文件,css导入的文件有多种格式:eot,woff,svg 在windows下,需要寻找相应的exe文件来处理或者node.js来处理: ttf2eot: https://github ...

  9. 第二篇:gradle脚本运行环境分析(gradle的语义模型)

    引言:通过上一篇的论述,我们知道gradle脚本是如假包换的groovy代码,但是这个groovy代码是运行在他的上下文环境里面的,学名叫语义模型.这一篇我们就来看看他的语义模型到底是什么,如何使用. ...

  10. Sublime Text2配置python环境

    1.下载python并安装     地址:https://www.python.org/downloads/ 2.下载Sublime Text2 并安装     地址:http://www.subli ...