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 ...
随机推荐
- cocos2dx 3.1创建工 mac
1.下载cocos2dx 3.1版本号 2.打开终端,cd 进入 cocos2d-x-3.1.1/tools/cocos2d-console/bin 3.cocos new game -p com.t ...
- 标准I/O库之每次一行I/O
下面两个函数提供每次输入一行的功能. #include <stdio.h> char *fgets( char *restrict buf, int n, FILE *restrict f ...
- 详解ExplosionField的使用,实现View的粉碎效果
小米平板卸载软件的时候,会有一个粉碎的效果,看起来很拉风,GitHub上有一个开源控件可以实现这个效果,我们一起来看看.先来看看效果图: 看起来不错吧,那我们今天就来详细说说ExplosionFiel ...
- Android(java)学习笔记157:使用Dexdump等工具进行反编译
使用Dex等工具进行反编译步骤: (1)首先找到Android软件安装包中的class.dex,把APK文件改名为".zip",然后解压缩其中的class.dex文件,这是Java ...
- [置顶] c#对于文件的操作
在system.iO:命名空间中提供了两种遍历枚举文件夹的类,Directory 和DirectoryInfo, 他们都有一个方法GetDirectories():来便利枚举文件夹, /// < ...
- Linux screen命令简介
Linux上有的shell脚本运行时候是阻塞的,如果想在屏幕上即能够看到阻塞命令的输出,同时又能够在shell窗口运行其他程序,那么Linux自带的screen命令是非常不错的选择. 1.screen ...
- MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键
MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键 >>>>>>>>>>>>>> ...
- 20151221jquery学习笔记---日历UI
妹的,这几天真是无语了,参加了一个无聊的比赛,简直浪费时间,好几天没学jquery啊,今天学了一点,不过快要期末考试了,估计得攒到寒假了啊. 日历(datepicker) UI, 可以让用户更加直观的 ...
- java 乱码问题-Dfile.encoding=UTF-8
http://blog.csdn.net/telnetor/article/details/5555361 问题描述:程序涉及到国际化问题,httpclient抓回来的数据乱七八糟的乱码,在转了几次编 ...
- Java 十六进制转十进制
public static int hexToDecimal(String hex) { int decimalValue = 0; for (int i = 0; i < hex.length ...