private void button1_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("是否统计全部", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.Yes)
            {
                try
                {  
                OleDbConnection con= databaseconnetion.getconnection.connection();
                string strAdd = "select count(ID) from tb_Stuff ";
                OleDbCommand com = new OleDbCommand(strAdd, con);
                con.Open();
                OleDbDataReader dr = com.ExecuteReader();
                MessageBox.Show("公司人员统计完毕,一共有" + dr[0].ToString() + "人");
                }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message.ToString());
                }
            }
            else
            {
                cmbduch.SelectedIndex = 0;
            }
               
        }
为什么说不存在此行数据

解决方案 »

  1.   

    先确定有数据么?
    代码中加个if (dr.Read())判断一下                
      

  2.   

    MessageBox.Show("公司人员统计完毕,一共有" + dr[0].ToString() + "人"); 这一行前要加上dr.Read();用来定位到第一行数据。
      

  3.   

      OleDbDataReader dr = com.ExecuteReader(); 
      MessageBox.Show("公司人员统计完毕,一共有" + dr[0].ToString() + "人"); 
                         
        改 MessageBox.Show("公司人员统计完毕,一共有" + Convert.ToString(com.ExecuteScalar()) + "人"); 
      

  4.   

    你要先判断下时候有数据。先dr.read()