2012-02-08 138 views
1

我有这个SQLite包含一些'项目'。每个'Project'及其来自SQLite数据库表的属性都显示在一个活动中。我想要做的是,点击活动内的按钮时,它会更新该“项目”的C_FAVORITE行。Android:更新表格行SQL

我怎么能这么做?我需要在下面的更新方法中使用哪些参数?

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

我这是怎么显示在活动项目的属性:

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)); 

......

+0

如何显示表格?你使用ORM(ormlite)作为你的数据库吗?或者你有dbhelper类来运行你的查询/更新? – 2012-02-08 11:45:00

+0

我得到DBHelper类,我同步我的表与服务器上的JSON文件 – hectichavana 2012-02-08 11:47:24

+0

第一次读书,学习如何问一个问题......没有人知道Database.Project.C_FAVORITE是什么... prolly它是一个字符串...字符串没有更新方法...我必须再说一遍...编程它不适合你...你打算在没有基本知识的情况下构建应用程序 – Selvin 2012-02-08 11:50:06

回答

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子句可以传递空在那里。

0

的一种方法是添加标签按钮,抢标记来自makeFavourite()-方法。它的完成方式完全取决于你的应用程序结构,其中你没有告诉我们任何有关的信息。

+0

我可以,但它会是所有代码类的帖子的一个很长的地狱 – hectichavana 2012-02-08 11:58:05