65.9K
CodeProject 正在变化。 阅读更多。
Home

访问 System.Data.DataTable 中的值:技巧

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.13/5 (8投票s)

2010年10月22日

CPOL
viewsIcon

30047

访问 System.Data.DataTable 中的值

我经常注意到大多数程序员使用如下所示的列索引从 datatable 中访问数据
public class TestClass
{
  public void MyTestMethod()
  {
    //GetTableData Method fetches data from database using a sql query.
    DataTable dt = DataAccessLayer.GetTableData();
    
     foreach(DataRow dRowin dt.Rows)
     {
        //Accessing data through column index
        int empId = Convert.ToInt32(dRow[0]);
     }
  }
}
在上面的例子中,如果获取数据的 SQL 查询中的列顺序发生变化,你的应用程序肯定会出错。始终通过列名访问值,如下所示
   public class TestClass
    {
       private const string EMP_ID = "EmpId";
       public void MyTestMethod()
       {
           //GetData fetches data from the database using a SQL query
           DataTable dt = DataAccess.GetTableData();
           foreach (DataRow dRow in dt.Rows)
           {
              //Accessing data through column name
              int empId = Convert.ToInt32(dRow[EMP_ID]);
           }
        }
    }
即使列顺序发生变化,上面的代码也不会出错。使用常量变量在一个地方保存列名,这样即使将来列名发生变化,你只需要在一个地方修改代码。
© . All rights reserved.