[SQL] 안드로이드 SQLite는 것은 특정 행을 업데이트하는 방법
SQL안드로이드 SQLite는 것은 특정 행을 업데이트하는 방법
지금은 잠시 동안 특정 행을 업데이트하려고했는데,이 작업을 수행하는 두 가지 방법이 있다는 것을 보인다. 내가 읽고 해봤 바로는, 당신은 단지를 사용할 수 있습니다 :
에는 ExecSQL (문자열 SQL) 방법
아니면 그:
업데이트 (문자열 테이블 ContentValues 값 문자열 whereClause 문자열 [] whereArgs) 방법.
(제가 안드로이드에 새로운 SQL에 아주 새로운 오전으로이 잘못된 경우 알려 주시기 바랍니다.)
그래서 내 실제 코드를 얻을 수 있습니다.
myDB.update(TableName, "(Field1, Field2, Field3)" + " VALUES ('Bob', 19, 'Male')", "where _id = 1", null);
나는 이러한 목표를 달성하기 위해 노력하고 있습니다 :
기본 키 (_id)는 1과 동일 요금 필드 1, 필드 2와 입력란 3.
Eclipse는 나에게 단어 "업데이트"아래에 빨간색 줄 권리를 부여하고 나에게이 설명을 제공합니다 :
내가 제대로 ContentValues를 할당하고 있지 않다 같은데요. 올바른 방향으로 누구 포인트 나 수 있습니까?
해결법
-
==============================
1.먼저 ContentValues 객체를 만들 :
먼저 ContentValues 객체를 만들 :
ContentValues cv = new ContentValues(); cv.put("Field1","Bob"); //These Fields should be your String values of actual column names cv.put("Field2","19"); cv.put("Field2","Male");
그런 다음 업데이트 방법을 사용, 지금은 작동합니다 :
myDB.update(TableName, cv, "_id="+id, null);
-
==============================
2.간단한 방법 :
간단한 방법 :
String strSQL = "UPDATE myTable SET Column1 = someValue WHERE columnId = "+ someValue; myDataBase.execSQL(strSQL);
-
==============================
3.처음에는 ContentValues 객체를 생성 :
처음에는 ContentValues 객체를 생성 :
ContentValues cv = new ContentValues(); cv.put("Field1","Bob"); cv.put("Field2","19");
그런 다음 업데이트 방법을 사용합니다. 참고 세 번째 인수는 where 절입니다. 은 "?" 자리 표시 자입니다. 그것은 네 번째 인수로 대체됩니다 (ID)
myDB.update(MY_TABLE_NAME, cv, "_id = ?", new String[]{id});
이것은 특정 행을 업데이트 할 수있는 깨끗한 솔루션입니다.
-
==============================
4.이 코드는 예를 수정해야합니다 :
이 코드는 예를 수정해야합니다 :
ContentValues data=new ContentValues(); data.put("Field1","bob"); data.put("Field2",19); data.put("Field3","male"); DB.update(Tablename, data, "_id=" + id, null);
-
==============================
5.당신이 시도 할 수 있습니다 ...
당신이 시도 할 수 있습니다 ...
db.execSQL("UPDATE DB_TABLE SET YOUR_COLUMN='newValue' WHERE id=6 ");
-
==============================
6.이 당신을 도울 바랍니다 :
이 당신을 도울 바랍니다 :
public boolean updatedetails(long rowId, String address) { SQLiteDatabase mDb= this.getWritableDatabase(); ContentValues args = new ContentValues(); args.put(KEY_ROWID, rowId); args.put(KEY_ADDRESS, address); return mDb.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null)>0; }
-
==============================
7.당신은 SQLite는이 하나의 업데이트 방법을 시도
당신은 SQLite는이 하나의 업데이트 방법을 시도
int id; ContentValues con = new ContentValues(); con.put(TITLE, title); con.put(AREA, area); con.put(DESCR, desc); con.put(TAG, tag); myDataBase.update(TABLE, con, KEY_ID + "=" + id,null);
-
==============================
8.당신의 DB에서이 코드를 사용 `
당신의 DB에서이 코드를 사용 `
public boolean updatedetails(long rowId,String name, String address) { ContentValues args = new ContentValues(); args.put(KEY_ROWID, rowId); args.put(KEY_NAME, name); args.put(KEY_ADDRESS, address); int i = mDb.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null); return i > 0; }
당신의 sample.java 사용이 코드에서 업데이트
//DB.open(); try{ //capture the data from UI String name = ((EditText)findViewById(R.id.name)).getText().toString().trim(); String address =(EditText)findViewById(R.id.address)).getText().toString().trim(); //open Db pdb.open(); //Save into DBS pdb.updatedetails(RowId, name, address); Toast.makeText(this, "Modified Successfully", Toast.LENGTH_SHORT).show(); pdb.close(); startActivity(new Intent(this, sample.class)); finish(); }catch (Exception e) { Log.e(TAG_AVV, "errorrrrr !!"); e.printStackTrace(); } pdb.close();
-
==============================
9.이 같은 시도 할 수 있습니다 :
이 같은 시도 할 수 있습니다 :
ContentValues values=new ContentValues(); values.put("name","aaa"); values.put("publisher","ppp"); values.put("price","111"); int id=sqdb.update("table_name",values,"bookid='5' and booktype='comic'",null);
-
==============================
10.당신의 sqlite가 행이 고유 ID 또는 다른 equivatent이있는 경우, 당신은이 같은 곳에 절을 사용할 수 있습니다
당신의 sqlite가 행이 고유 ID 또는 다른 equivatent이있는 경우, 당신은이 같은 곳에 절을 사용할 수 있습니다
update .... where id = {here is your unique row id}
-
==============================
11.업데이트의 필요성과 같이 최선을 다하고하려면 변경 setTransactionSuccessfull를 호출합니다 :
업데이트의 필요성과 같이 최선을 다하고하려면 변경 setTransactionSuccessfull를 호출합니다 :
db.beginTransaction(); try { db.update(...) db.setTransactionSuccessfull(); // changes get rolled back if this not called } finally { db.endTransaction(); // commit or rollback }
-
==============================
12.// 다음은 업데이트에 대한 몇 가지 간단한 예제 코드입니다
// 다음은 업데이트에 대한 몇 가지 간단한 예제 코드입니다
// 먼저이 선언
private DatabaseAppHelper dbhelper; private SQLiteDatabase db;
// 다음 초기화
dbhelper=new DatabaseAppHelper(this); db=dbhelper.getWritableDatabase();
// 그 갱신 코드
ContentValues values= new ContentValues(); values.put(DatabaseAppHelper.KEY_PEDNAME, ped_name); values.put(DatabaseAppHelper.KEY_PEDPHONE, ped_phone); values.put(DatabaseAppHelper.KEY_PEDLOCATION, ped_location); values.put(DatabaseAppHelper.KEY_PEDEMAIL, ped_emailid); db.update(DatabaseAppHelper.TABLE_NAME, values, DatabaseAppHelper.KEY_ID + "=" + ?, null);
대신에 '물음표'의 아이디를 넣어 // 나의 공유 환경 설정에서 기능입니다.
-
==============================
13.
public void updateRecord(ContactModel contact) { database = this.getReadableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(COLUMN_FIRST_NAME, contact.getFirstName()); contentValues.put(COLUMN_LAST_NAME, contact.getLastName()); contentValues.put(COLUMN_NUMBER,contact.getNumber()); contentValues.put(COLUMN_BALANCE,contact.getBalance()); database.update(TABLE_NAME, contentValues, COLUMN_ID + " = ?", new String[]{contact.getID()}); database.close(); }
-
==============================
14.다만이 방법을 시도
다만이 방법을 시도
String strFilter = "_id=" + Id; ContentValues args = new ContentValues(); args.put(KEY_TITLE, title); myDB.update("titles", args, strFilter, null);**
-
==============================
15.SQLite는의 업데이트 방법 :
SQLite는의 업데이트 방법 :
public void updateMethod(String name, String updatename){ String query="update students set email = ? where name = ?"; String[] selections={updatename, name}; Cursor cursor=db.rawQuery(query, selections); }
-
==============================
16.
public long fillDataTempo(String table){ String[] table = new String[1]; tabela[0] = table; ContentValues args = new ContentValues(); args.put(DBOpenHelper.DATA_HORA, new Date().toString()); args.put(DBOpenHelper.NOME_TABELA, nome_tabela); return db.update(DATABASE_TABLE, args, STRING + " LIKE ?" ,tabela); }
-
==============================
17.단지 ROWID를주고 ContentValues에서 갱신 될 것입니다 데이터를 입력합니다.
단지 ROWID를주고 ContentValues에서 갱신 될 것입니다 데이터를 입력합니다.
공공 무효 updateStatus (문자열 ID, INT 상태) {
DB의 SQLiteDatabase this.getWritableDatabase = ();
ContentValues 데이터 = 새로운 ContentValues ();
data.put ( "상태", 상태);
db.update (TABLENAME 데이터 "COLUMNNAME"+ "="+ ID, NULL);
}
from https://stackoverflow.com/questions/9798473/sqlite-in-android-how-to-update-a-specific-row by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] PostgreSQL을 함께 데이터베이스 간 쿼리를 수행 할 수? (0) | 2020.03.22 |
---|---|
[SQL] PostgreSQL의에서 중복 레코드 삭제 (0) | 2020.03.22 |
[SQL] SQL 서버에서 삭제 중복 레코드? (0) | 2020.03.22 |
[SQL] JSON 형 내부 배열 요소를 쿼리 (0) | 2020.03.22 |
[SQL] 어떻게 그룹 시간 시간으로 10 분 (0) | 2020.03.22 |