>데이터 베이스 >MySQL 튜토리얼 >`execSQL()` 또는 `update()`를 사용하여 Android SQLite 데이터베이스의 특정 행을 업데이트하는 방법은 무엇입니까?

`execSQL()` 또는 `update()`를 사용하여 Android SQLite 데이터베이스의 특정 행을 업데이트하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-12 16:50:43364검색

How to Update a Specific Row in an Android SQLite Database Using `execSQL()` or `update()`?

Android SQLite 데이터베이스에서 단일 레코드 수정

Android는 특정 데이터베이스 행을 업데이트하기 위한 두 가지 주요 접근 방식인 execSQL()update()을 제공합니다. 최선의 선택은 업데이트 작업의 복잡성에 따라 달라집니다.

update() 메서드를 사용하여 여러 필드를 업데이트하려면 먼저 새 값을 보유하는 ContentValues 객체를 구성하세요.

<code class="language-java">ContentValues values = new ContentValues();
values.put("Field1", "Bob"); // String value
values.put("Field2", 19); // Integer value
values.put("Field3", "Male"); // String value</code>

다음으로 update() 메서드를 사용하여 업데이트를 실행합니다. 이를 위해서는 대상 행을 정확히 지정하기 위해 테이블 ​​이름, ContentValues 개체 및 WHERE 절이 필요합니다.

<code class="language-java">myDB.update(TableName, values, "_id = ?", new String[]{id});</code>

여기서 "_id = ?" WHERE 절 역할을 하며 id은 수정할 행의 기본 키를 나타냅니다. "?" id 값에 대한 자리 표시자 역할을 하여 SQL 주입 취약점을 방지합니다.

보다 복잡한 SQL 업데이트를 위해 execSQL()에서 다음 경로를 제공합니다.

<code class="language-java">myDB.execSQL("UPDATE " + TableName + " SET Field1 = 'Bob', Field2 = 19, Field3 = 'Male' WHERE _id = 1");</code>

이 접근 방식은 사용자 정의 SQL 문을 직접 실행합니다. 그러나 update() 방법에 비해 SQL 주입 공격에 더 취약하므로 주의하세요. execSQL() 기능 이상의 업데이트를 위해 필요한 경우에만 update()을 사용하세요.

위 내용은 `execSQL()` 또는 `update()`를 사용하여 Android SQLite 데이터베이스의 특정 행을 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.