id , term 및 type 열이있는 TermTable 이라는 sqlite 테이블 이 있습니다 .
static final String TermTable = "Terms";
static final String ID = "id";
static final String Term = "term";
static final String Type = "type";
또한 db를 구현하는 Datasource 클래스가 있으며 테이블에 데이터를 넣고 가져 오는 다음 메서드가 있습니다.
public long insertTermList(String term, String type) {
ContentValues initialValues = new ContentValues();
initialValues.put(WordsDB.Term, term);
initialValues.put(WordsDB.Type, type);
return db.insert(WordsDB.TermTable, null, initialValues);
}
public Cursor getTermValues(int index) {
String from[] = { "Term", "Type" };
String where = WordsDB.ID + "=" + index;
Cursor cursor = db.query(true, WordsDB.TermTable, from, where, null, null, null, null, null);
return cursor;
}
다른 클래스에서는 insertTermList를 호출하고 ds 라는 Datasource 개체를 사용하여 값 행에 대해 일부를 삽입했습니다 .
private void setData()
{
ds.insertTermList("abbey", "noun");
ds.insertTermList("abide", "verb");
ds.insertTermList("abound", "verb");
ds.insertTermList("absurd", "adjective");
}
이제 내가 제공 한 id에 따라 열에서 값을 가져오고 각 행의 각 열 값을 text라는 텍스트 뷰에 추가하려고 합니다 . 어떻게 할 수 있습니까?
private void getData() {
Cursor c = ???
if(c != null)
{
c.moveToFirst();
text.append(???);
}
}
어떤 제안?
따라서 먼저 다음 기능을 변경하십시오.
public Cursor getTermValues(int index) {
String from[] = { "Term", "Type" };
String where = WordsDB.ID + "=" + index;
Cursor cursor = db.query(true, WordsDB.TermTable, from, where, null, null, null, null, null);
return cursor;
}
...에
public Cursor getTermValues(int index) {
String from[] = { "Term", "Type" };
String where = WordsDB.ID + "=?";
String[] whereArgs = new String[]{index+""};
Cursor cursor = db.query(WordsDB.TermTable, from, where, whereArgs, null, null, null, null);
return cursor;
}
그때,
private void getData(int id) {
Cursor c = getTermValues(id);
if(c != null)
{
while(c.moveToNext){
String term = c.getString(c.getColumnIndex("term")));
String type = c.getString(c.getColumnIndex("type")));
// use these strings as you want
}
}
}
모든 레코드를 검색하려면 방법을 생성하십시오.
public void getAllRecords() {
Cursor cursor = db.query(WordsDB.TermTable, null, null, null, null, null, null, null);
if(c != null)
{
while(c.moveToNext){
String term = c.getString(c.getColumnIndex("term")));
String type = c.getString(c.getColumnIndex("type")));
// use these strings as you want
}
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다