public static double AvgFromDB(int id, DateTime time, int userID)
        {
            DateTime startTime = DateTime.Parse( time.Year.ToString() + "-" + time.Month.ToString() + "-01 00:00:00");
            string sqlString = "select average from HourAssessmentMonthScore where ownerId ='" + id + "'and workgroup = '" + userID + "' and date = '" + startTime + "'";
            string returnValue = runSQL(sqlString);
            if (returnValue == null || returnValue.Length==0)
                //throw new Exception("error no data!");
                return Convert.ToDouble(0);
            else
                return Convert.ToDouble(returnValue);
        }这段代码怎么改始终报object reference not set to an instance of an boject。由于某些原因暂时无法调试,请高手帮忙看看问题到底出在哪。谢谢,在线等。

解决方案 »

  1.   

    静态引用public static double AvgFromDB(int id, DateTime time, int userID)
      

  2.   

    是不是runSQL(sqlString); 这个方法中报的错?
      

  3.   

    问题应该在runSQL(sqlString), 把这个方法粘出来看看
      

  4.   

    public static string runSQL(string sQueryString)
            {
                using (SqlConnection Conn = ReturnConn())
                {
                    SqlCommand dbCommand = new SqlCommand(sQueryString, Conn);
                    string s = dbCommand.ExecuteScalar().ToString();
                    Conn.Close();
                    return s;
                }
            }runsql的方法。因为某些方法不能让我去调试。否则我也不用这么纠结了。
      

  5.   

    可能是 dbCommand.ExecuteScalar() 为null 了。 然后 ToString 报的错,也就是没查到数据
      

  6.   

    可是,我在AvgFromDB()方法里面不判断如果为空,返回值为0么。这样也不行么。
      

  7.   

    object objValue = dbCommand.ExecuteScalar();
    if(objValue==null)return string.Empty;
    return objValue.ToString();
      

  8.   

    加查一下ReturnConn()是不是返回了SqlConnection的实例