无法使用数据表。使用数据适配器填充数据表后的查找方法

时间:2016-04-03 13:41:10

标签: c# datatables dataadapter

我一直在为我的项目使用断开连接的模型。问题是我已经使用数据适配器.fill命令来填充我的数据表并且已经成功填充但是在填充数据表之后我无法使用datatable.Find方法在其主键的基础上搜索数据。数据适配器是不是要在fill命令后分配包括主键在内的所有内容? //DataRow r = dt.Rows.Find(BO.RoomNo); 这样,在调试时出现错误,表示不存在主键

因此,我必须使用foreach循环

foreach (DataRow r in dt.Rows)
{
  if (BO.RoomNo == (int)r[1])
  {
    temp.RoomNo = (int)r[1];
    temp.Category = (string)r[2];
    temp.Price = (float)r[3];
    temp.Status = (string)r[4];
  }
}

1 个答案:

答案 0 :(得分:0)

您可以设置DataTable的PrimaryKey属性,如下所述,

//ID is primary key
dt.PrimaryKey = new DataColumn[] { dt.Columns["ID"]};