程序中定义了一个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();
主要是加了一句红色部分字体。