2012-01-08 2 views
0

안녕하세요, 자바와 셸 명령을 사용하여 안드로이드의 SQLite 뷰어에서 작업하고 있습니다. (명령은 한 줄이어야합니다.) 레이아웃과 뷰어를 작성했으며 모든 것이 완벽합니다. 값을 길게 누를 때 편집 텍스트는 사용자가 새 값을 입력 할 수있는 위치를 표시 한 다음 좋아요를 누르면 값을 업데이트해야합니다.행 번호가 가능한 SQLite UPDATE 값/옵션?

나는 열 이름, 이전 값과 새로운 값, 데이터베이스 이름, 테이블 이름 등을 가지고 있지만 문제는 값을 업데이트 할 수있게 해준다. where 절과 같은 것을 보았지만 문제는 열에 값이있는 경우이다. 여러 번 (아주 잘 될 수도 있음) 올바른 행을 알 수 없습니다.

그래서 저는 sqlite를 처음 사용하면서 일주일도 안됐다는 것을 알고 있습니다. 열 이름과 행 번호로 열 값을 업데이트 할 수있는 방법이 있습니까?

테이블 업데이트 옵션에는 어떤 것이 있습니까?

나 또한 정말 스탠드에서이

sample 
-------- 
0 
0 
0 
1 
0 
1 
1 
0 

가 어떻게 일을 동일하게 세 번째 행을 업데이트 난이 (한 열)과 같은 테이블이 말을하지 않습니다? 내가

sqlite3 DATABASEHERE "UPDATE TABLEHERE SET sample='1' WHERE sample='0'" 

을했다면 문이 행 1, 2, 3, 5, 8을 설명하는 그렇게 행 번호를 사용하는 방법이 있어야한다? 어떤 도움

+0

테이블에 CREATE 문을 추가 할 수 있습니까? –

+0

이렇게 테이블을 가질 수 없습니다. Relational Algebra (SQLite와 같은 관계형 데이터베이스 기반)는 관계 (또는 테이블)를 튜플 세트로 정의합니다. 집합이기 때문에 동일한 값을 가진 튜플은 구별 할 수 없습니다. 동일하게 간주되어 한 번만 저장되기 때문에 동일한 값을 가진 여러 행을 가질 수 없습니다. –

+0

나는 create 문이 없다. 나는 내 데이터베이스로 작업하고 있지 않기 때문에 내가 그것을 얻을 수 있다고 생각하지 않는다. 모든 데이터베이스와 함께 작업하고있다. 나는 파일을 편집하는 부분에서 작업하고있다. 에 대한 sdcard 같은 무엇입니까 – user577732

답변

4

SQLite는 대한

덕분에 당신이 rowid에 액세스 할 수 있습니다. 따라서 SELECT rowid, col FROM table1을 작성한 다음 테이블을 업데이트하는 데 사용할 수 있습니다. UPDATE TABLEHERE SET sample='1' WHERE rowid=3

+0

sqlite에 대한 그런 멍청한 것에 대해 유감스럽게 생각합니다.하지만 추측 할 수있는 부분을 시작해야합니다 :) – user577732