访问 System.Data.DataTable 中的值:技巧
访问 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]); } } }即使列顺序发生变化,上面的代码也不会出错。使用常量变量在一个地方保存列名,这样即使将来列名发生变化,你只需要在一个地方修改代码。