繁体   English   中英

收到错误消息“指定的转换无效”

[英]Got an error message for “Specified cast is not valid”

我正在尝试计算数据表中每一列中相同ID的总和。 数据表中有空元素。 当我在计算colP_sum的行上运行以下代码时,如果“特定类型转换无效”,则会出现错误。 看来是由数据表中的空元素引起的? 我应该如何解决? 我敢肯定,如果数据表中填充了数字,那么此代码就可以正常工作。

            for (int i = 0; i < LoadIDcount; i++)
        {
            string IDnow = LoadID[i, 0];
            string IDsaved = LoadP_dt.Rows[i][0].ToString();

            if (LoadP_dt.Rows[i][0].ToString() == IDnow)
            {
                for (int j = 0; j < 8760; j++)
                {
                    string colPnow = SP_dt.Columns[j * 2 + 4].ColumnName.ToString();
                    double ColP_sum = (double)SP_dt.Compute(String.Format("Sum([{0}])", colPnow), String.Format("Load_ID = '{0}'", IDnow));
                    string colQnow = SP_dt.Columns[j * 2 + 5].ColumnName.ToString();
                    double ColQ_sum = (double)SP_dt.Compute(String.Format("Sum([{0}])", colQnow), String.Format("Load_ID = '{0}'", IDnow));


                    LoadP_dt.Rows[i][j + 2] = ColP_sum;
                    LoadQ_dt.Rows[i][j + 2] = ColQ_sum;
                    Console.WriteLine("{0}    {1}", i, j);
                }
            }
            else
            {
                Console.WriteLine("ID does not match");
            }

        }

        CSVfilewriter(CSVPpath, LoadP_dt);//save the Load_P datatable to CSV file
        CSVfilewriter(CSVQpath, LoadQ_dt);//save the Load_Q datatable to CSV file
        //CSVfilewriter(CSVSPpath, SP_dt);//save the service point datatable to CSV file



    }

如果“ colPnow”不是数字,则可以解释该数字:“ Compute”和“ Sum”似乎都在期望数字值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM