代码之家  ›  专栏  ›  技术社区  ›  Anyname Donotcare

表没有主键

  •  15
  • Anyname Donotcare  · 技术社区  · 14 年前

    我在使用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 回复  |  直到 10 年前
        1
  •  32
  •   Crispy    14 年前

    你需要设置 主关键字 您的财产 可计算的 调用前的对象 发现

    DataColumn[] keyColumns = new DataColumn[1];
    keyColumns[0] = dt.Columns["<columnname>"];
    dt.PrimaryKey = keyColumns;