반응형
SQLite에서 데이터 입력시에 ContentValues가 필요합니다.
val dbHelper:DBHelper = DBHelper(context, "DB명", null, 1)
val database:SQLiteDatabase = dbHelper.writableDatabase
val contentValues = ContentValues()
contentValues.put("title", "[Kotlin] ContentValues putNull")
contentValues.put("contents", "글 메모입니다.")
database.insert("테이블명", null, contentValues)
위는 기본적으로 테이블에 insert하는 로직입니다.
이를 수행하면, title / memo가 "테이블명"이라는 테이블에 입력되게 됩니다.
결과는 아래와 같습니다.
title | contents |
[Kotlin] To enter a null value for "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을 허용하는 컬럼인지 반드시 체크해야합니다.
※ 이 글은 워드프레스에 작성한 글과 동일한 작성자의 동일한 글입니다.
https://royfactory.net/2023/07/02/kotlin-contentvalues-putnull/
반응형
'개발 창고 > Android' 카테고리의 다른 글
[Kotlin] FrameLayout을 이용하여 겹치게 배치하는 방법 (0) | 2023.07.25 |
---|---|
[Kotlin] TextView와 EditText에 텍스트를 입력하는 방법 (0) | 2023.07.25 |
[Kotlin] Depreciated된 "registerForActivityResult" 해결 방법 (0) | 2023.07.24 |
[Kotlin] String 배열을 한 개의 String으로 만드는 방법 (0) | 2023.07.23 |
[Kotlin] "Floating Action Button" 사용하는 방법 (0) | 2023.07.23 |