表没有主键

时间:2010-08-25 15:26:16

标签: c# asp.net mysql

我在使用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();'

1 个答案:

答案 0 :(得分:32)

在致电查找

之前,您需要设置 DataTable 对象的 PrimaryKey 属性
DataColumn[] keyColumns = new DataColumn[1];
keyColumns[0] = dt.Columns["<columnname>"];
dt.PrimaryKey = keyColumns;