我在学习 Beginning ASP.NET 1.0 With C# 一书中第十三章有一个例子,我下载了原书网站上提供的代码,编译出错,原因如下.源错误: 
行 41:     // Find the row to change
行 42:     DataRow[] objRows = objTable.Select("FirstName='Margaret' AND LastName='Peacock'");
行 43:     objRows[0]["FirstName"] = "John";
行 44:     objRows[0]["LastName"] = "Hartford";
行 45: 
 源文件: c:\inetpub\wwwroot\editingdata.aspx    行: 43 堆栈跟踪: 
[IndexOutOfRangeException: 索引超出了数组界限。]
   ASP.editingdata_aspx.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\editingdata.aspx:43
   System.Web.UI.Control.OnLoad(EventArgs e) +67
   System.Web.UI.Control.LoadRecursive() +35
   System.Web.UI.Page.ProcessRequestMain() +731 
源代码为:
    // -----------------------------------------------------------------
    // Marker 2    // Find the row to change
    DataRow[] objRows = objTable.Select("FirstName='Margaret' AND LastName='Peacock'");
    objRows[0]["FirstName"] = "John";
    objRows[0]["LastName"] = "Hartford";    // Bind the data grid to the new data
    dgNameList3.DataSource = objTable.DefaultView;
    dgNameList3.DataBind();这里为什么会出现越界访问呢?是不是DataRow[]中没有获取到任何数据,可是我查看了数据库中,有这两个值.