C#中的double类型数据向SQL sqerver 存储与读取问题
1、存储
由于double类型在SQLsever中并没有对应数据,试过对应float、real类型,发现小数位都存在四舍五入的现象,目前我使用的是decimal类型,用此类型时个人觉得小数位数应该比自己的数据中小数位数设置的多一点,不然还是会出现四舍五入。
以下是我的代码,由于业务需求,我的数据库只存储一条数据,一直更新
using (SqlConnection con = new SqlConnection(connectionString))
{
try
{
//dbHelper = new DBHelper(BCSSqlConnection);
con.Open();
StringBuilder sbSql = new StringBuilder(); //sbSql.Append("insert into GpsData(");
//sbSql.Append("lon,lat,AddTime)");
//sbSql.Append(" values (");
//sbSql.Append(" @lon,@lat,@AddTime)");
sbSql.Append("update GpsData set lon = @lon ,lat = @lat,AddTime=@AddTime where id = 1");
string strInsertSql = sbSql.ToString();
SqlCommand cmd = new SqlCommand(strInsertSql, con);
cmd.Parameters.Add("@lon", lon);
cmd.Parameters.Add("@lat", lat);
cmd.Parameters.Add("@AddTime", DateTime.Now);
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine("添加失败了" + ex.Message); //表示数据库异常
}
finally
{
con.Close();
}
}
2.读取
2.1 从数据库中取出数据
using (SqlConnection con = new SqlConnection(connectionString))
//using (BCSSqlConnection = new MySqlConnection(mysqlcon))
{
try
{
con.Open();
StringBuilder sbSql = new StringBuilder();
sbSql.Append("select lon,lat from GpsData");
SqlCommand com = new SqlCommand(sbSql.ToString(), con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
da.Fill(dt);
//返回DataTable对象dt
return dt;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
con.Close();
}
}
2.2 数据类型转换
DataTable dt = mm.SelectGpsData();
double lon = Convert.ToDouble(dt.Rows[]["lon"].ToString());
double lat = Convert.ToDouble(dt.Rows[]["lat"].ToString());
Console.WriteLine(lon + " " + lat);
C#中的double类型数据向SQL sqerver 存储与读取问题的更多相关文章
- C#中设置double类型数据的小数长度
如果double A=1.5321654:需要将其转换为3位小数,字符串的话A.tostring(".###")就可以,输出的是1.532: 也可以用A.ToString(&quo ...
- 在JAVA中怎么比较Double类型数据的大小
在JAVA中怎么比较Double类型数据的大小 我来答 浏览 33044 次 3个回答 #活动# “双11”答题活动,奖励加码!最高得2000元购物礼金! pollutedair 2015- ...
- hbase中double类型数据做累加
public static Result incr(String tableFullName, String rowKey, String family, String qualifier, long ...
- 由Double类型数据到数据的格式化包java.text
需求:Double类型数据截取操作保留两位小数 解决方案: java.text.DecimalFormat df =new java.text.DecimalFormat("#.00&quo ...
- asp.net mvc视图中使用entitySet类型数据时提示出错
asp.net mvc5视图中使用entitySet类型数据时提示以下错误 检查了一下引用,发现已经引用了System.Data.Linq了,可是还是一直提示出错, 后来发现还需要在Views文件夹下 ...
- (工具类)double类型数据运算
package com.flf.util;import java.math.BigDecimal;/** * double类型数据运算 * @author Yancy 2016-12-14 * */p ...
- 在oracle中存入date类型数据遇到的问题及其解决方法(利用java.sql.date和Timestamp)
转自:https://blog.csdn.net/ShadowerWArden/article/details/80652377 1. 使用JDBC操作Oracle数据库时,使用java.sql.Da ...
- 读写SQLServer数据库中的image类型数据(简单)
1.将double类型的数据存储于image类型的变量中: (1). char *CManualForecastResultBll::DoubleArray2Binary(std::vector< ...
- java通过poi读取excel中的日期类型数据或自定义类型日期
Java 读取Excel表格日期类型数据的时候,读出来的是这样的 12-十月-2019,而Excel中输入的是 2019/10/12 或 2019-10-12 poi处理excel时,当excel没 ...
随机推荐
- Docker 版本
1. Docker 版本 长话短说:现在Docker改为基于YY.MM的版本(像Ubuntu),用户可以选择Stable(发布较慢)或者Edge(发布较快)版本. Docker Engine改为Doc ...
- Django 复习
Django 基础1 day49 老师的博客:https://www.cnblogs.com/yuanchenqi/articles/6083427.html http://www.cnblogs.c ...
- LeeCX - 开源后台管理系统简单介绍
我们在github上开源了一个后台管理系统,使用了前端css框架并且简单的封装了一下,技术的将会不间断更新,详细可以点击原文链接.具体介绍如下: LeeCX 开源后台管理系统,前端基于bootstra ...
- linux下ls -l命令(即ll命令)查看文件的显示结果分析
在linux下使用“ls -l”或者“ls -al”或者“ll”命令查看文件及目录详情时,shell中会显示出好几列的信息.平时也没怎么注意过,今天忽然心血来潮想了解一下,于是整理了这篇博客,以供参考 ...
- [C++]“error C2712: 无法在要求对象展开的函数中使用__try”解决方案
https://blog.csdn.net/shiqw5696/article/details/80664749 前段时间写了一篇关于C++异常捕获及异常处理的文章:c++异常捕获及异常处理try-t ...
- springboot2.x接口返回中文乱码
@Configuration public class GlobalConversConfiguration extends WebMvcConfigurationSupport { @Bean pu ...
- 【nodejs】初识 NodeJS(二)
上一节我们构建了一个基础的 http 服务器,我们可以接收 http 请求,但是我们得做点什么吧 – 不同的 http 请求,服务器应该有不同的响应. 路由模块 处理不同的 http 请求在我们的代码 ...
- class ObjectOutputStream也是过滤流,使节点流直接获得输出对象。
class ObjectOutputStream也是过滤流,使节点流直接获得输出对象. 最有用的方法:WriteObject(Object b) 用流传输对象称为对象的序列化,但并不使所有的对象都可以 ...
- Linux 文件删除原理_009
***了解Linux文件删除原理先了解一下文件inode索引节点,每个文件在Linux系统里都有唯一的索引节点(身份证号) inode.如果文件存在硬链接,那这个文件和这个文件的硬链接的inode是相 ...
- laravel5.8笔记二:部署
部署项目之前需要知道的几件事 1.有几个模块(admin,index,wap,api) 2.有几个数据库(mysql1,mysql2,mysql3) 3.有那些缓存(redis1,redis2,red ...