반응형
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
반응형
'MySql' 카테고리의 다른 글
MySQL nodejs에서 sql-injection을 방지하고 sequelize하는 방법은 무엇입니까? (0) | 2020.11.11 |
---|---|
MySQL 로컬 컴퓨터의 MySQL 서비스가 시작된 후 중지되었습니다. (0) | 2020.11.11 |
MySQL 새 자동 증분 ID를 삽입하는 방법 (0) | 2020.11.11 |
MySQL 인덱스는 어떻게 작동합니까? (0) | 2020.11.11 |
MySQL 데이터베이스에서 Python 3.5.1을 사용하는 방법 (0) | 2020.11.11 |
댓글