Ответ 1
Вам необходимо установить свойство PrimaryKey вашего объекта DataTable, прежде чем вы вызовете Найти
DataColumn[] keyColumns = new DataColumn[1];
keyColumns[0] = dt.Columns["<columnname>"];
dt.PrimaryKey = keyColumns;
Я получаю следующее исключение (отсутствующий первичный ключ) в строке с использованием метода 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();'
Вам необходимо установить свойство PrimaryKey вашего объекта DataTable, прежде чем вы вызовете Найти
DataColumn[] keyColumns = new DataColumn[1];
keyColumns[0] = dt.Columns["<columnname>"];
dt.PrimaryKey = keyColumns;