解决方案 »

  1.   

    sdr  没有读取出来数据,导致sdr[k]  没有值。
      

  2.   

    OleDbDataReader sdr = cmd.ExecuteReader();
    都木有读,sdr[0]是null改成while (sdr.Read())
                 {
    for (int i = 0; i < k; i++)
                 {
                     MessageBox.Show(sdr[i] == DBNull.Value?String.Empty:sdr[i].ToString());
    }
                 }
      

  3.   

    OleDbDataReader 是一行一行的读取数据的,
    必须执行sdr.Read()方法去读取下一行
    它有返回值,如果返回true,就是有下一行,如果返回false,表示已经到结尾了,没有下一行
      

  4.   

    for (int i = 0; i < k; i++)
                {
                    MessageBox.Show(sdr[i].ToString());
                    //Res[i] = sdr[i].ToString();
                }改成while (sdr.Read())
    {
                    MessageBox.Show(sdr[列名或者列索引].ToString());
    }