之前用sunnyui做展示数据库数据曲线的时候、偶然会报溢出错误,也不报错错误在哪,就是直接程序都跑不动了。

后面发现



设置曲线上下限的时候,当上下限一样的时候就会导致溢出错误、sunnyui的曲线也没有对其抛出异常

对其maxTime和minTime进行数据处理就能解决这个问题了

曲线就可以正常绘制了

private void writetime_Tick(object sender, EventArgs e)
{
select_t();
if (Con.State == System.Data.ConnectionState.Closed)
{
Con.Open();
// 连接已打开后的操作
} foreach (var i in lines)
{
SqlDataAdapter cm = new SqlDataAdapter($"select Temperature,Machine,Time from UT_TemperatureControl where Machine='{i.Name}' ", Con);//and DATEDIFF(day,Time,GETDATE())=0
//SqlCommand b = new SqlCommand($"select count(*) from tt where Machine={i.Name}", Con);
//int k=(int)b.ExecuteScalar();
SqlCommand firstRecordCmd = new SqlCommand("SELECT TOP 1 Time FROM UT_TemperatureControl ORDER BY Time ASC", Con);//where DATEDIFF(day,Time,GETDATE())=0
SqlCommand lastRecordCmd = new SqlCommand("SELECT TOP 1 Time FROM UT_TemperatureControl ORDER BY Time DESC", Con);//where DATEDIFF(day,Time,GETDATE())=0 object firstRecordTimeObj = firstRecordCmd.ExecuteScalar();
object lastRecordTimeObj = lastRecordCmd.ExecuteScalar();
DateTime minTime;
DateTime maxTime; if (firstRecordTimeObj != null && firstRecordTimeObj != DBNull.Value)
{
if (Convert.ToDateTime(firstRecordTimeObj) == Convert.ToDateTime(lastRecordTimeObj))
{
minTime = Convert.ToDateTime(firstRecordTimeObj).AddHours(-1);
maxTime = Convert.ToDateTime(lastRecordTimeObj).AddHours(1);
}
else
{
minTime = Convert.ToDateTime(firstRecordTimeObj);
maxTime = Convert.ToDateTime(lastRecordTimeObj);
}
}
else
{
// 处理无记录的情况,设置一个默认的最小时间,或者抛出异常,根据实际情况决定
minTime = DateTime.MinValue;
maxTime = DateTime.Now;
} float temperature = 0.0f;
DateTime currentTime = DateTime.Now;
//double ctime = currentTime.Ticks;
DataTable dt = new DataTable();
cm.Fill(dt); //var line = historylc.Option.AddSeries(new UILineSeries(i.Name));
historylc.Option.Clear(i.Name);
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
if (col.ColumnName == "Temperature")
{
temperature = Convert.ToSingle(row["Temperature"]);
}
// temperature = (float)row["Temperature"];
if (col.ColumnName == "Time")
{
currentTime = Convert.ToDateTime(row["Time"]);
//string cc = currentTime.ToString("HHmmss");
//ctime = cc.ToDouble();
}
}
historylc.Option.XAxis.SetRange(minTime, maxTime);
historylc.Option.AddData(i.Name, currentTime, temperature);//创建线 //line.Add(currentTime, temperature);
} } historylc.Refresh();
if (Con.State == System.Data.ConnectionState.Open)
{
// 连接已打开,进行操作
// ... Con.Close();
// 连接已关闭后的操作
} }

Sunnyui画曲线溢出错误的更多相关文章

  1. 1.1.3-学习Opencv与MFC混合编程之---画图工具 通过对话框进行工具的参数设置 画曲线 绘图校正

    源代码:http://download.csdn.net/detail/nuptboyzhb/3961688 l 对话框 1.“插入”->“资源”->“对话框” 2.对话框属性如下: 双击 ...

  2. Xamarin Android提示内存溢出错误

    Xamarin Android提示内存溢出错误 错误信息:java.lang.OutOfMemoryError, Consider increasing the value of $(JavaMaxi ...

  3. 将 IDENTITY 转换为数据类型 int 时出现算术溢出错误。

    IDENTITY标识列为int类型,取值范围为-2^32到2^31-1.当增长值超过这个最大值时,我在SQL Server 2008 R2 x64上试验的结果是: 将 IDENTITY 转换为数据类型 ...

  4. 使用checked关键字处理“溢出”错误

    在进行算术运算时,可以使用checked关键字有效处理溢出错误,使用checked关键字可能对程序的性能会有一点点的影响,这是一种以牺牲性能换取健康的做法. private void button1_ ...

  5. ado执行sql查询出现“发送数据流时出现算术溢出”错误

    开发一个数据采集监控系统,比较变态的是有将近2000项数据.根据数据类型分多个表存储.数据库访问层采用ado.最近发现当一条sql一次性查询1700多个字段数据后就出现“发送数据流时出现算术溢出”错误 ...

  6. PHP利用GD库画曲线

    效果: PHP代码 <?php Header('Content-type: image/png;Charset:utf-8'); //声明图片 $im = imagecreate(400,200 ...

  7. DiskGenius的 “终止位置参数溢出”错误解决方法。

    (转帖)同事电脑系统启动突然明显变慢,重装系统后问题仍未解决(windowsxp sp3).帮忙分析感觉是磁盘分区表出现了错误,用通用PE工具箱进入PE系统,DiskGenius工具检查:“终止位置参 ...

  8. Oracle OCI-22053:溢出错误解决方法

    原文 Oracle OCI-22053:溢出错误解决方法 Oracle 数值数据类型最多可存储 38 个字节的精度.当将 Oracle 数值转换为公共语言运行库数据类型时,小数点后边的位数可能过多,这 ...

  9. java中三种常见内存溢出错误的处理方法

    更多 10   相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的 ...

  10. java中三种常见内存溢出错误的处理方法(good)

    相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识. 在解决j ...

随机推荐

  1. java基础-java面向对象01-day08

    1. 一个简单的类 认识类 成员变量 类方法 public class Person { //类的成员变量 int age; String name; double height; double we ...

  2. 每天学五分钟 Liunx 010 | ssh

    Liunx ssh known_hosts   known_hosts是做服务器认证的.当用 ssh 连接到一个新的服务器的时候,ssh 会让你确认服务器的信息(域名.IP.公钥),如果你确认了,就会 ...

  3. shell 实现项目的启动与停止

    本文为博主原创,转载请注明出处: 1. 以tomcat 为例,编写启动脚本: #!/bin/sh bin=$(cd `dirname $0`; pwd) pid=$(ps aux | grep tom ...

  4. http-自签证书

    1. 背景 证书需要向云服务提供商购买,是需要付费,但用在应用开发场景是不合适的,需要开发者自己自签证书进行测试 2. 工具包 Cygwin a large collection of GNU and ...

  5. Linux-关机重启和注销

  6. Grafana监控minio的极简方法

    Grafana监控minio的极简方法 背景 想监控一下minio的部分信息. 使用过程中需要关注的内容挺多的. 只看简单的node感觉已经不够了. 所以想监控易一下. 方式和方法 minio其实集成 ...

  7. [转帖]kafka搭建kraft集群模式

    kafka2.8之后不适用zookeeper进行leader选举,使用自己的controller进行选举 1.准备工作 准备三台服务器 192.168.3.110 192.168.3.111 192. ...

  8. 【转帖】Java Full GC (Ergonomics) 的排查

    文章目录 1. Full GC (Ergonomics) 1.1 Java 进程一直进行 Full GC 1.2 Full GC 的原因 1.3 检查堆占用 2. 代码检查 3. 解决方式 1. Fu ...

  9. 一条sql了解MYSQL的架构设计

    1 前言 对于一个服务端开发来说 MYSQL 可能是他使用最熟悉的数据库工具,然而,大部分的Java工程师对MySQL的了解和掌握程度,大致就停留在这么一个阶段:它可以建库.建表.建索引,然后就是对里 ...

  10. 重新学习一下new Date()

    new Date()你知道多少 很多小伙伴可能都知道, Date是js中的一个内置对象,用于处理日期和时间. 当你调用 new Date() 时,它会创建一个新的日期(Date) 对象. 表示当前本地 ...