string[] scom934 = new string[] { "select factor1 from ippt934", "select factor2 from ippt934", "select factor3 from ippt934", "select factor4 from ippt934" };
  for (int k = 0; k < scom934.Length; k++)
                {
                    SqlCommand cmd3 = new SqlCommand(scom934[k], conn1);
                    SqlDataReader sdr3 = cmd3.ExecuteReader();
                    string chuan1;
                    string chuan2;
                    chuan1 = scom934[k];
                    chuan2 = chuan1.Substring(7, 7);
                    int i = 0;
                    while (sdr3.Read())
                    {
                        jcsz934[k][i] = float.Parse(sdr3[chuan2].ToString());
                        i++;
                    }                    sdr3.Close();
                }
                conn1.Close();                return jcsz934;;本人不知道sdr3[chuan2].ToString();
读取遇到空数据时返回的是什么,就是想把空的数据变成0填入数组,以便后边的计算。有空列整列都填0。求高手啊。

解决方案 »

  1.   

    Tostring() 之后是应当没问题的
    不是设置不设置值的问题 
      

  2.   

    如果为空,jcsz934[k][i] = float.Parse(sdr3[chuan2].ToString())=“”;
    不会是零,这里你可以加个判断 如果为sdr3[chuan2].ToString())==“”;
    ,则把零赋予数组成员就行了,如果不为则执行你的操作就实现你的目的了,希望数清楚了
      

  3.   

    4楼说的与我心有戚戚焉,4楼的意思我理解就是就是遇到空时,sdr3[chuan2].ToString()里边存的就是“”了。我试试啊。我就是想判断这个遇到空的时候返回的值啊。先去搞搞,回头再来。
      

  4.   

    string[] scom934 = new string[] { "select factor1 from ippt934", "select factor2 from ippt934", "select factor3 from ippt934", "select factor4 from ippt934" };
      for (int k = 0; k < scom934.Length; k++)
                    {
                        SqlCommand cmd3 = new SqlCommand(scom934[k], conn1);
                        SqlDataReader sdr3 = cmd3.ExecuteReader();
                        string chuan1;
                        string chuan2;
                        chuan1 = scom934[k];
                        chuan2 = chuan1.Substring(7, 7);
                        int i = 0;
                        while (sdr3.Read())
                        {
                            jcsz934[k][i] = string.IsNullOrEmpty(sdr3[chuan2].ToString())?"0":float.Parse(sdr3[chuan2].ToString());
                            i++;
                        }                    sdr3.Close();
                    }
                    conn1.Close();                return jcsz934;
      

  5.   

    jcsz934[k][i]  这个数组是什么类型的,如果是string类型就对0加引号