C#操作SQL float类型数据,在C#中用double类型就OK了,C#数据类型和SQL数据类型对照

C#操作SQL Float类型,数据会多很多小数,原来是C#的float和sql的float类型不一致

/// <summary>/// 数据库中与C#中的数据类型对照/// </summary>/// <param name="type"></param>/// <returns></returns>private string ChangeToCSharpType(string type){string reval = 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;}return reval;}
SQL Server类型 C#类型
bit bool
tinyint byte
smallint short
int int
bigint long
real float
float double
money decimal
datetime DateTime
char string
varchar string
nchar string
nvarchar string
text string
ntext string
image byte[]
binary byte[]
uniqueidentifier Guid

数据库中字段类型对应C#中的数据类型:

  SQL SERVER类型   C#类型
精确数字 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 Int64
int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为integer Int32
smallint

从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。

Int16
tinyint

从 0 到 255 的整型数据。存储大小为 1 字节。

System.Byte
bit

1 或 0 的整数数据。

Boolean
decimal 从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。 System.Decimal
numeric 功能上等同于 decimal System.Decimal
money

货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。

System.Decimal
smallmoney

货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。

System.Decimal
近似数字 float

从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。

System.Double
real

从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。

System.Single
  datetime 从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。 System.DateTime
smalldatetime

从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。

System.DateTime
字符串 char

固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。

String
varchar

可变长度的非 Unicode 数据,最长为 8,000 个字符。

String
text

可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符。

String
Unicode 字符串 nchar

固定长度的 Unicode 数据,最大长度为 4,000 个字符。

String
nvarchar

可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于nvarchar(128),用于引用数据库对象名。

String
ntext

可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符。

String
二进制字符串 binary 固定长度的二进制数据,其最大长度为 8,000 个字节。 System.Byte[]
varbinary 可变长度的二进制数据,其最大长度为 8,000 个字节。 System.Byte[]
image

可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节。

System.Byte[]
其它数据类型 timestamp

数据库范围的唯一数字,每次更新行时也进行更新。

System.DateTime
uniqueidentifier

全局唯一标识符 (GUID)。

System.Guid
Variant   Object

1.合并DataTable

遇到的问题:

需要选择两个不同数据库的不同表中的记录重新组合成一个新的集合。

解决方法:

将两个DataTable合并成为一个DataTable

取得两个DataTable某些列,按照某种选择条件重新组合成为一个新的DataTable

这个很类似于”select  *  from 表1,表2  where 表1.列名= 表2.列名”

示例代码

        /// <summary>合并dt1和dt2的数据</summary>/// <returns>获得合并之后的新DataTable---newTable</returns>private static DataTable CombineTable(DataTable dt1, DataTable dt2){//创建新的DataTableDataTable newTable = new DataTable();//为newTable添加新列newTable.Columns.Add("StudentID", Type.GetType("System.String"), " ");newTable.Columns.Add("StudentCode", Type.GetType("System.String"), " ");newTable.Columns.Add("StudentName", Type.GetType("System.String"), " ");newTable.Columns.Add("Indexing", Type.GetType("System.Int64"), " ");newTable.Columns.Add("ClassID", Type.GetType("System.String"), " ");newTable.Columns.Add("ClassCode", Type.GetType("System.String"), " ");newTable.Columns.Add("ClassName", Type.GetType("System.String"), " ");newTable.Merge(dt1); //将dt1合并到newTableforeach (DataRow newrow in newTable.Rows) //遍历newTable全部列{foreach (DataRow dr2 in dt2.Rows) //遍历dt2全部列{if (newrow["StudentID"].ToString() == dr2["StudentID"].ToString()) //当newTable的StudentID和dt2的StudentID相同时,执行下列操作{//将dtStudentExecutiveClassLink对应列的信息newTable对应列中newrow["StudentCode"] = dr2["StudentCode"];newrow["StudentName"] = dr2["StudentName"];newrow["ClassID"] = dr2["ClassID"];newrow["ClassCode"] = dr2["ClassCode"];newrow["EClassName"] = dr2["ClassName"];}}}return newTable; //返回结果}

【淘宝ERP-资料收集】C# 类型 对应 SQLserver类型相关推荐

  1. OpenERP的淘宝ERP方案

    一.系统功能 OpenERP是欧洲中小企业使用人数最多的ERP软件,是世界上排名第一的开源ERP软件.OpenERP软件功能丰富,平台先进,源码开放,可扩展性强,软件免费. 基于OpenERP软件的淘 ...

  2. 收集淘宝店铺资料的小程序

    Ruby学习持续进行中 看到业务人员不停的在Ctrl+c与Ctrl+v,还是把固定格式的淘宝搜索结果加入到excel表格中. 还好每人分了几个类目,不过也够浪费体力的了. 我虽然很懒,但也忍不住了,直 ...

  3. 采集淘宝API数据,抓取淘宝商品资料无需申请appkey

    为了进行淘宝的API开发,首先我们需要做下面几件事情. 1)开发者注册一个账号 2)然后为每个淘宝应用注册一个应用程序键(App Key) . 3)下载淘宝API的SDK并掌握基本的API基础知识和调 ...

  4. 弘辽科技:淘宝全款预售怎么设置?预售类型有哪些?

    在淘宝平台中,淘宝商家们可以设置预收活动,这种方式有利于帮助商品活跃气氛,提前吸引一些流量.像消费者们感兴趣的话都是可以去支付定金的,那么淘宝商家如何去设置全款预售呢? 淘宝全款预售怎么设置? 淘宝预 ...

  5. 如何借助内容营销快速提升新品流量[淘宝erp、打单发货接口]

    大家好,我是小编v兔.我们都知道,做电商,流量是必须要争取的.因为只有有了流量,才可能有其他的数据的产生,比如收藏.加购.转化等数据.说通俗一点,这就好比线下生意,好的商圈,好的位置,大的人流,你的店 ...

  6. 【淘宝ERP-资料收集】C# 类型 对应 SQLserver类型-淘宝直通车数据搭建

    CREATE TABLE TB_subway ( 日期 DateTime NOT NULL, 推广计划名称 nvarchar(30) NOT NULL, 宝贝名称 nvarchar(50) NOT N ...

  7. 【淘宝ERP-资料收集】C# 类型 对应 SQLserver类型:SQL SERVER(项目实战)

    Sale数据库 --(创建数据库) --创建名为Sale的销售数据库.该数据表有一个名为Sale.mdf的主数据文件和名字为Sale_log.ldf的事务日志文件. --主数据文件容量为4MB,事务日 ...

  8. 【淘宝ERP-资料收集】关于Datatable的一些用法

    C# DataTable.Select() 筛选数据 返回新DataRow[] 有时候我们需要对数据表进行筛选,微软为我们封装了一个公共方法,DataTable.Select(),其用法如下: Sel ...

  9. 获取匹配产品规则、淘宝erp、淘宝打单发货接口

    获取匹配产品规则 接口地址: http://api.vv-tool.com/tool/erps/schema 接口介绍: ISV 发布商品前,需要先查找到产品 ID,这个接口返回查找产品规则入参规则 ...

最新文章

  1. 大家帮忙.谢谢!..(急急急急急)
  2. JAVA 实现 快速排序算法
  3. 单引号 数字_办公软件操作技巧010:如何在excel中输入连续多个数字“0”
  4. FireDAC 下的 Sqlite [7] - 备份、优化、事务(Transaction)
  5. percona-xtrabackup-8.0.7简单快捷使用
  6. 技术人员是如何分析游戏环境的? 《影之诗》牌组趋势分析
  7. 一个简单的游戏服务器框架
  8. python 随机_python1到3秒随机延时入坑python 心情舒畅
  9. 干货分享丨玩转物联网IoTDA服务系列五-智能家居煤气检测联动
  10. 前端好学还是Java好学?
  11. mysql innodb 间隙锁_Mysql innodb 间隙锁
  12. IROS2020 | 鲁棒全景视觉惯性导航系统ROVINS
  13. Landsat 数据下载与预处理
  14. Protel99se中文版PCB负片输出
  15. 无约束一维极值——黄金分割法
  16. 更改html默认浏览器,如何设置或默认浏览器更改为浏览器,火狐,IE
  17. 读《所谓情商高,就是会说话》笔记
  18. 利用matlab求系统的单位阶跃响应,基于Matlab6_5的归一化二阶系统单位阶跃响应的模拟演示...
  19. Font Awesome、ionic icon图标库的超详细使用方法
  20. C语言 编写函数Fun1实现分段函数运算,并返回函数值。在主函数调用Fun1函数,接收输入的x值,并输出函数值。

热门文章

  1. 中国人民公安大学(PPSUC) 网络对抗技术第二次实验
  2. 希沃白板5快捷键_【希沃白板5官方下载】希沃白板5 v5.1.7 电脑版-开心电玩
  3. QPS、RPS、TPS、PV、UV、GMV、IP
  4. 矩阵基础 (1). 行优先和列优先的问题
  5. 微信小程序:笑话与趣图框架源码下载
  6. 如何使用Emerald更改Ubuntu的窗口边框
  7. 高德地图 多状态业务自适应显示多个点标记
  8. Tachiyomi 使用指南:一款开源的聚合漫画阅读软件
  9. 使用LogParser和WCAT进行iis压力测试
  10. 不会CAD制图怎么办?掌握这几个CAD技巧,新手也能快速入门