数据库的二进制数据变成图调试过程中老是出现其他信息: 索引超出了数组界限的问题 怎么解决?

public void get_photo(PictureBox ph)
{
byte[] imagebytes = null;
string connStr = "Data Source=(local);Initial Catalog=demo;Integrated Security=True;uid=sa;Password=123456;server=.";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string sql = ("select Rc_Image from RecordCard");
SqlCommand sqlcom = new SqlCommand(sql,conn);
DataSet dataset = new DataSet();
SqlDataAdapter adater = new SqlDataAdapter(sql, conn);
adater.Fill(dataset);
SqlDataReader dr = sqlcom.ExecuteReader();

        while (dr.Read())
        {
            imagebytes = (byte[])dr.GetValue(18);
        }
        MemoryStream ms = new MemoryStream(imagebytes);
        Bitmap bmpt = new Bitmap(ms);
        ph.Image = bmpt;
    }

imagebytes = (byte[])dr.GetValue(18);
显然这里的问题
检查下dr有没有19个栏,栏是从下标0开始算的。具体要看RecordCard的表怎么定义的。