之前用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. Kubernetes security context capability

    注:以下内容基于经验主义,不一定对. Linux capability Linux 中,root 作为特权用户,具有执行所有应用的能力.而普通用户只能执行普通应用.如果普通用户需要执行特权应用,需要进 ...

  2. 程序&命名-执行环境

    开发程序执行环境 系统级别 -- 编译器或解释器 程序级别 -- 命令行参数.配置文件 执行级别 -- 进程.线程.协程运行时上下文(树(命名空间 -- 函数-局部变量.包或模块-全局变量)) 命令行 ...

  3. [转帖]linux中批量多行缩进与添加空格

    用vim打开修改python脚本的时候,将代码整体向后移动4个空格操作如下: ESC之后,ctrl+v进入多行行首选中模式 使用上下键进行上下移动,选中多行行首 shift+i,进入插入模式 连续敲击 ...

  4. [转帖]windos的kafka设置账号密码

    1.kafka配置文件 server.properties增加 listeners=SASL_PLAINTEXT://127.0.0.1:9092 advertised.listeners=SASL_ ...

  5. NativeMemoryTracking的再学习

    摘要 最近一段时间学习jvm比较多. 为了能够更加深入的进行一些调优和峰值性能的配置. 看了很多像是NMT,inline,堆区方法区以及分层编译等知识. 但是看到华为毕昇社区说的codecache相关 ...

  6. 转载:ubuntu各个版本的发行时间和停止支持的时间,更新到最新版和代号。

    版本:20.10  代号:Groovy Gorilla  发布时间:2020/10/22 版本:20.04 LTS   代号:Focal Fossa  发布时间:2020/4/23 版本:19.10  ...

  7. 【k哥爬虫普法】爬取数据是否一定构成不正当竞争?

    我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了"K哥爬虫普法"专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识, ...

  8. 蘑菇街大三Java后端暑期实习面经

    「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识.准备 Java 面试,首选 JavaGuide! 分享一位热心读者分享的实习面经给博客园的小伙伴们看看. 一面 1.自我 ...

  9. 精进语言模型:探索LLM Training微调与奖励模型技术的新途径

    精进语言模型:探索LLM Training微调与奖励模型技术的新途径 LLMs Trainer 是一个旨在帮助人们从零开始训练大模型的仓库,该仓库最早参考自 Open-Llama,并在其基础上进行扩充 ...

  10. MySQL【三】---数据库查询详细教程{分页、连接查询、自关联、子查询、数据库设计规范}

    1.分页 limit start count limit限制查询出来的数据个数,limit在语句最后 查找两个女性 select * from student where gender=1 limit ...