유용한 문서를 여러 사이트에서 검토 한 결과 비어 있습니다. 공식 사이트의 흐름도 그리스어 일 수도 있고이 사이트의 다른 관련 게시물에서 시도한 예를 통해 오류가 발생할 수도 있습니다. 나는 데이터베이스에 사용자 입력을 배치하는 간단한 응용 프로그램을 작성하고 있지만은 의 2 개 열 조합이 필요합니다. 내가 본 것으로부터 UNIQUE 또는 PRIMARY KEY로 수행 할 수 있습니다. 또한 입력을 잘못했음을 사용자에게 알리기 위해 오류를 캡처하는 방법이 필요합니다.. 나는 자바 측에서 이것을 쉽게 할 수 있다는 것을 알고있다. 그러나 나는 제안 된 모든 삽입물에 대해 테이블을 반복하지 않는 것을 선호한다.UNIQUE 열 조합을 사용하는 SQLite 테이블 만들기
db.execSQL("CREATE TABLE inventory (category TEXT, itemNum TEXT, quantity INTEGER, price REAL, image INTEGER, UNIQUE(category, itemNum) ON CONFLICT FAIL;");
내가 UNIQUE 추가 될 때까지 제대로 구성된 테이블 ... 던졌다
: ERROR/SQLiteOpenHelper (1037) : android.database.sqlite
이
내가 지금까지 무엇을 가지고 .SQLiteException : 근처 ";"구문 오류 : FAIL CONFLICT에서 고유 UNQ TABLE 인벤토리 (카테고리 TEXT, itemNum이 텍스트 량 INTEGER, 가격 REAL 화상 INTEGER, CONSTRAINT (카테고리 itemNum이)를 만들고;EDIT :
... 채우기 콘텐츠 입력 값이 사용자 입력 인입니다.
try{
db.getWritableDatabase().insert(DatabaseHelper.TABLE_NAME, DatabaseHelper.CATEGORY, values);
fillItemNumbers(); // Updates screen
}
catch(SQLiteConstraintException e)
{
Toast
.makeText(this, "User error",Toast.LENGTH_LONG)
.show();
}
Facepalm! 이제 프로그래머의 카드를 반환하고 조용히 퇴각하여 구석에 쑤셔 넣습니다. – AnthonyW
두 번째 질문에 대한 의견이 있으십니까? 나는 또한 그들의 입력이 잘못되었음을 사용자에게 건배하기 위해 오류를 캡처하는 방법이 필요하다. – AnthonyW
확실히, 내 대답에 추가. –