반응형
SQLite에서 데이터 입력 시에 ContentValues가 필요합니다.
val dbHelper:DBHelper = DBHelper(context, "DB명", null, 1)
val database:SQLiteDatabase = dbHelper.writableDatabase
val contentValues = ContentValues()
contentValues.put("title", "ContentValues putNull")
contentValues.put("contents", "글 메모입니다.")
database.insert("테이블명", null, contentValues)
위는 기본적으로 테이블에 insert하는 로직입니다.
이를 수행하면, title / memo가 "테이블명"이라는 테이블에 입력되게 됩니다.
결과는 아래와 같습니다.
title | contents |
ContentValues putNull | 글 메모입니다. |
그런데 만약 제목은 있고 내용은 아직 입력하지 않는 임시저장인 경우 어떻게 해야 할까요?
val dbHelper:DBHelper = DBHelper(context, "DB명", null, 1)
val database:SQLiteDatabase = dbHelper.writableDatabase
val contentValues = ContentValues()
contentValues.put("title", "내용은 나중에 입력할게요")
contentValues.put("contents", null)
database.insert("테이블명", null, contentValues)
위와 같이 입력한다면 아래와 같은 contents를 입력하는 부분에서 오류가 발생합니다.
put으로는 null을 입력할 수 없고, putNull을 이용해주어야 합니다.
위와 같이 putNull("contents")를 해주면, contents에는 null값이 입력되게 됩니다. 하지만 주의해야 할 사항은 입력하는 테이블에 contents 컬럼이 null을 허용하는 컬럼인지 반드시 체크해야 합니다.
반응형
'개발 창고 > Android' 카테고리의 다른 글
[Kotlin] How to Applying Bold and Italic to TextView (2) | 2023.12.12 |
---|---|
[Kotlin] How to Use the Confirm window (1) | 2023.12.11 |
[Kotlin] How to Use "IN" Clause in SQLite (1) | 2023.12.10 |
[Kotlin] How To Enter Text in TextView and EditText (2) | 2023.12.09 |
[Kotlin] How To Place Overlapping using Frame Layout (0) | 2023.12.09 |