2012-02-08 7 views
1

나는이 'Projects'가 포함 된 SQLite를 가지고있다. SQLite 데이터베이스 테이블의 속성을 가진 각 '프로젝트'가 액티비티에 표시됩니다. 내가 원하는 것은 활동 내부의 버튼을 클릭하면 C_FAVORITE 행의 'Project'를 업데이트하는 것입니다.Android : 테이블 행 업데이트 SQL

어떻게 할 수 있습니까? 아래의 업데이트 방법에 어떤 인수를 넣어야합니까?

+0

테이블이 어떻게 표시됩니까? ORM (ormlite)을 사용하고 있습니까? 또는 dbhelper 클래스를 사용하여 쿼리/업데이트를 실행합니까? –

+0

DBHelper 클래스를 얻었습니다. 서버의 JSON 파일과 테이블을 동기화합니다. – hectichavana

+0

첫 번째 책을 읽고, 질문하는 법을 배웁니다. 아무도 Database.Project.C_FAVORITE가 무엇인지 알지 못합니다 ... prolly it String ... 문자열에 업데이트 방법이 없습니다 ... 다시 말해야합니다 ... 프로그래밍이 아닙니다 ... 기본 지식없이 앱을 빌드하는 것이 좋습니다. – Selvin

답변

7

다음과 같이 시도 할 수는 :

public SQLiteDatabase sqd; 

//Create connection of database 

public void makeFavorite(String fieldname,String c_fav_value) { 
ContentValues cv = new ContentValues(); 
cv.put(fieldname,c_fav_value); 
int i= sqd.update(table_name, cv, where, where_clause); 
} 

당신은 어떤 where 절은 널 (null)이 통과 할 수있는 경우.

0

한 가지 방법은 버튼에 태그를 추가하고 잡아하는 것입니다 ......

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.project); 

     loader = new ImageLoader(this); 
      Intent intent = getIntent(); 
      if (intent != null) { 
       Uri uri = intent.getData(); 
       if (uri != null) { 
        final Cursor cursor = managedQuery(uri, new String[] { 
          BaseColumns._ID, Database.Project.C_PROJECTTITLE, Database.Project.C_ORGANIZATIONTITLE, 
          Database.Project.C_PROJECTDESCRIPTION,Database.Project.C_BIGIMAGE,Database.Project.C_DONATIONAMOUNT,Database.Project.C_ADDRESS,Database.Project.C_WEBSITE,Database.Project.C_SHORTCODE,Database.Project.C_KEYWORD,Database.Project.C_PRICE,Database.Project.C_CAMPAIGNID,Database.Project.C_PAYPALEMAIL,Database.Project.C_ELVAVAILABLE}, null, null, null); 

        if (cursor == null) { 
         finish(); 
        } else { 
         if (cursor.moveToFirst()) { 
          ImageView img = (ImageView) findViewById(R.id.project_image); 
          TextView project_title = (TextView)findViewById(R.id.txt_project_title); 
           project_title.setText(cursor.getString(1)); 

:

public void makeFavorite() { 
Database.Project.C_FAVORITE.update(.......); 
} 

이 내가 활동 프로젝트의 속성을 표시하는 방법입니다 태그는 makeFavourite() -method 내에 있습니다. 그것이 어떻게 완료되었는지는 응용 구조에 전적으로 달려 있습니다.

+0

할 수는 있겠지만 모든 코드 클래스를 가진 긴 지옥이 될 것입니다. – hectichavana

관련 문제