在sqlite中更改列中的值 [英] Change a value in a column in sqlite

查看:191
本文介绍了在sqlite中更改列中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要更新某个表中的列中的值.我尝试了这个:

  public void updateOneColumn(String TABLE_NAME,String Column,String rowId,String ColumnName,String newValue){字符串sql ="UPDATE" + TABLE_NAME +"SET" + ColumnName +"=" + newValue +"WHERE" + Column +"=" + rowId;db.beginTransaction();SQLiteStatement stmt = db.compileStatement(sql);尝试{stmt.execute();db.setTransactionSuccessful();}最后{db.endTransaction();}} 

我这样称呼这个方法:

  db.updateOneColumn(路线图","id_roadmap",id,"sys_roadmap_status_mobile_id","1"); 

这意味着我想在 id_roadmap = id时在 sys_roadmap_status_mobile_id 列中设置值 1 .

问题是什么也没发生.我的错误在哪里?

解决方案

简便解决方案:

 字符串sql ="UPDATE" + TABLE_NAME +"SET" + ColumnName +"='" + newValue +'WHERE" + Column +"=" + rowId; 

更好的解决方案:

  ContentValues cv = new ContentValues();cv.put(ColumnName,newValue);db.update(TABLE_NAME,cv,Column +"=?",新的String [] {rowId}); 

I need to update a value in a column from a certain table. I tried this :

 public void updateOneColumn(String TABLE_NAME, String Column, String rowId, String ColumnName, String newValue){
                 String sql = "UPDATE "+TABLE_NAME +" SET " + ColumnName+ " = "+newValue+" WHERE "+Column+ " = "+rowId;
                 db.beginTransaction();
                 SQLiteStatement stmt = db.compileStatement(sql);
                 try{
                     stmt.execute();
                     db.setTransactionSuccessful();
                 }finally{
                     db.endTransaction();
                 }

        }

and I call this method like this :

 db.updateOneColumn("roadmap", "id_roadmap",id,"sys_roadmap_status_mobile_id", "1");

which means that I want to set the value 1 in the column sys_roadmap_status_mobile_id when id_roadmap = id.

The problem is that nothing happens. Where is my mistake?

解决方案

Easy solution:

String sql = "UPDATE "+TABLE_NAME +" SET " + ColumnName+ " = '"+newValue+"' WHERE "+Column+ " = "+rowId;

Better solution:

ContentValues cv = new ContentValues();
cv.put(ColumnName, newValue);
db.update(TABLE_NAME, cv, Column + "= ?", new String[] {rowId});

这篇关于在sqlite中更改列中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆