程序中定义了一个object类型的数组values,由于从数据库中读取记录时获得的是空数据,所以在把这个数据强制转换为其他类型数据时就出错了。修改后的程序如下:
string select_Querry = string.Format("select avg(RxLev),avg(RxQual) from BTS_Statistic where CGI='{0}'", BTS_Statistic.CGI.ToString());
System.Data.SqlClient.SqlDataReader DR = BTS_Sta_Coverage.DBQuerry(select_Querry);
int cols = DR.FieldCount; //获取结果行中的列数
object[] values = new object[cols];
if (DR.Read())
{
DR.GetValues(values);
if (!values[0].Equals(DBNull.Value))//判断从数据库中取出的数据是否为空,为空则跳过
{
double sta = Math.Round(Convert.ToDouble(values[0]), 2);
//double sta = -90;
signalStatisticForm.chart6.Series[0].Points.AddXY(BTS, sta);
}
}
BTS_Sta_Coverage.CloseDataBase();
主要是加了一句红色部分字体。
本文介绍了一种在从数据库读取平均信号电平和质量时处理空数据的方法。通过检查数据是否为空来避免类型转换错误,并仅在数据有效时进行处理。

257

被折叠的 条评论
为什么被折叠?



