之前用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. python3之lambda表达式

    技术背景 lambda表达式本身是一个非常基础的python函数语法,其基本功能跟使用def所定义的python函数是一样的,只是lambda表达式基本在一行以内就完整的表达了整个函数的运算逻辑.这里 ...

  2. 我想快速给WPF程序添加托盘菜单

    我想快速给WPF程序添加托盘菜单 1 简单要求: 使用开源控件库 在XAML中声明托盘菜单,就像给控件添加ContextMenu一样 封装了常用命令,比如:打开主窗体.退出应用程序等 我在Termin ...

  3. AHB Matrix

    常用的AHB Bus结构 AHB Matrix AHB Bus Matrix,即总线矩阵,其实际上就是一个互连(Interconnect).用于连接满足该总线协议的外设,包括Master和Slave. ...

  4. 基于AHB_BUS的eFlash控制器设计-软硬件系统设计

    eFlash软硬件系统设计 软硬件划分 划分好软硬件之后,IP暴露给软件的寄存器和时序如何? 文档体系:详细介绍eflash控制器的设计文档 RTL代码编写:详细介绍eflash控制器的RTL代码 1 ...

  5. std::istringstream的用法

    1.概要 std::istringstream 是 C++ 标准库中的一个类,它用于从字符串中提取数据,并将数据转换为不同的数据类型.它通常用于从字符串中解析数据,例如整数.浮点数等.以下是关于 st ...

  6. 【linux】Linux内核结构体--kfifo 环状缓冲区

    1.前言 最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的.缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度.例如一个进程A产 ...

  7. [转帖]MySQL的版本情况

    Introducing MySQL Innovation and Long-Term Support (LTS) versions (oracle.com) Introducing MySQL Inn ...

  8. [转帖]离线部署单机kubenetes-1.28.4

    系统版本: openEuler 22.03 (LTS-SP2) docker版本:24.0.7 kubenetes版本: 1.28.4 虚机IP: 192.168.177.138 基于 https:/ ...

  9. [转帖]Shell字符串拼接(连接、合并)

    http://c.biancheng.net/view/1114.html 在脚本语言中,字符串的拼接(也称字符串连接或者字符串合并)往往都非常简单,例如: 在 PHP 中,使用.即可连接两个字符串: ...

  10. [转帖]Armv9 架构相比 Armv8 有何升级/区别:全面性能提升

      https://baijiahao.baidu.com/s?id=1695708603852200216&wfr=spider&for=pc 自 2011 年 10 月 Arm 首 ...