본문 바로가기
MySql

MySQL 테이블에 기본 키가 없습니다.

by 베이스 공부 2020. 11. 11.
반응형

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;

 

참조 페이지 https://stackoverflow.com/questions/3567552

 

 

반응형

댓글