SQL数据库和c#的数据类型转换

数据类型的转换在编程中出现的几率还是比较大的

熟练的运用后,查询至少没问题

C#数据类型

对应的sql数据类型 仅部分

 

 

String

char(n 固定长度字符串最多储存8k字符

nchar(n) 固定长度的unicode只能储存4k字符

varchar(n)可变长度字符串最多8k字符不可加中文

nvachar(n)可变长度的unicode最多4k字符有中文

text 可变长度字符串最多2GB储存

string 可变长度的unicde数据 最多2GB储存

 

固定字符:

就是那的储存大小是固定的你储存的数据长度不能大于n且你储存的数据只要小于n就会占用n的空间

固字符比较节省计算机性能,但费空间;

但若知道一些字段具有固定长度时非常好用 如手机号,身份证号等用固定字符储存节省性能又节省空间

可变字符:

相对于固定字符,可变字符灵活性强,他没有固定的储存大小是根据存入数据的长度来确定储存空间大小

要储存的数据的长度时多少,它就能分配多大的空间来储存,可以合理分配空间,不过会占用计算机性能

可变字符节省空间,但费性能;

在不确定字符长度的时候可以使用 比如备注

C#数据类型

对应的sql数据类型 仅部分

bool

bit  0,1;true,false

byte

tinyint 0-255范围整数

short

smallint(短整形)-2^15-2^15-1范围整数

int

int -2^31-2^31-1范围整数

long

bigint(长整形) -2^63-2^63-1范围整形

float

表32位浮点数,精度7位(表32位的小数小数位32)

double

64位浮点数 精度15-16位

decimal

128位浮点数精度28-29位

datetime

时间类型右侧是时间分为和最小时间单位

datetime 从1705.011.01-9999.12.112.31 精度位100纳秒

smalldatetime 1900.01.01-2079.06.06精度1分钟

接下来是常用的强制转换数据类型的方法

string parameter="123"

SQL数据库和c#的数据类型转换_第1张图片
int commodityDetailID = parameter;


可以看到直接赋值因为无强制转换类型,会出现当前情况;

当给数据加上强制转换就可以解决这种情况了

Convert 将一个基本数据类型强制转换为另一个基本类型

SQL数据库和c#的数据类型转换_第2张图片
在后面.出转换后的数据类型这里的ToInt32为32位整数的数据类型;

这是部分的可转换的数据类型.

这里没有将int转换为short的方法

SQL数据库和c#的数据类型转换_第3张图片
接下来就给大家分享一个可以将int转换为short的方法(ToInt16是可以的


Inventory.Amount=(short)(Inventory.Amount + (short)Convert.ToDecimal(Differences[i]));

就这样了,本次分享就到这里了

你可能感兴趣的:(SQL数据库和c#的数据类型转换)