我在使用Find()方法的行中得到以下异常(缺少主键)
“表没有主键。”
我已经重新检查了数据库,所有主键列均已正确设置。
我的代码:
DataTable dt = p.GetAllPhotos(int.Parse(Id)); DataTable temp = new DataTable(); temp = dt.Clone(); temp = (DataTable)(Session["currentImage"]); DataTable dtvalid = new DataTable(); dtvalid = dt.Clone(); DataRow[] drr = new DataRow[1]; drr[0] = dt.Rows.Find((int.Parse(temp.Rows[0]["photoId"].ToString()))+1); foreach (DataRow dr in drr) { dtvalid.ImportRow(dr); } dtvalid.AcceptChanges();'
您需要在调用 Find* 之前设置 DataTable 对象的 PrimaryKey 属性。 ***
DataColumn[] keyColumns = new DataColumn[1]; keyColumns[0] = dt.Columns["<columnname>"]; dt.PrimaryKey = keyColumns;