EPPLUS를 사용하여 Excel에서 DataBase로 데이터를 가져 오려고합니다. 엑셀에서 데이터가 올바른지 https://www.paragon-inc.com/resources/blogs-posts/easy_excel_interaction_pt6루프의 db.SaveChanges()는 오류 후 레코드를 저장하지 않습니다.
using (var db = new DbEntities())
{
for (var row = 2; row <= lastRow; row++)
{
var newRecord = new DB_USER
{
ID = Int32.Parse(worksheet.Cells[idColumn + row].Value.ToString()),
FIRST_NAME = worksheet.Cells[firstNameColumn + row].Value.ToString(),
LAST_NAME = worksheet.Cells[lastNameColumn + row].Value.ToString(),
};
db.DB_USER.Add(newRecord);
try
{
db.SaveChanges();
totalImported++;
}
catch (Exception ex)
{
resultMessages.Add(string.Format("Error in line #{0}: {1}\n", row,
ex.Message));
}
}
}
모든 것이 잘 작동 : 여기에서 내가 코드를했다. 문제는 어떤 레코드에 잘못된 데이터가 있는지 여부입니다. 예를 들어, 우리는 엑셀에서 3 개 기록이 :
- ID : 21 (베이스 ID되지 않음) | 첫 번째 이름 : John | 성명 : Cage
- ID : 1 (ID는 기본) | 첫 번째 이름 : Mei | 성명 : Blue
- ID : 25 (ID가 기본이 아닙니다) | 첫 번째 이름 : 닉 | 성명 : Siri
그리고 데이터베이스에 이미 ID = 1
(으)로 기록되어 있습니다. 따라서 1, 3 등은 저장해야하지만 2 위는 저장하지 말아야합니다. 문제는 첫 번째 레코드 만 저장 중이며 나머지 (2 번째 및 3 번째)는 오류가 발생한다는 것입니다. 왜 그런지 몰라? 아마 그것은 하나의 거래 일 것인가? 이상해. 누구나 1, 3 번째 레코드를 저장하려면 어떻게해야합니까? 이 경우 1st 일뿐만 아니라?
오류 : 3 레코드에 어떤 이해가되지 않습니다 어떤
ORA-00001: unique constraint primary key violated
...
특히 오류가 발생합니까? 중요한 정보를 남기지 않으면 우리는 정말로 당신을 도울 수 없습니다. – mason
@mason, 편집 됨, 이제는 오류가 있지만 여전히 감각을 볼 수 없음 – DiPix
@DiPix :이 작업을 수행 했습니까? –