2012-03-24 87 views
0
db2.execSQL("Create Table StudentElective1(studentid text UNIQUE, 
    elective1 text ,elective2 text ,year text)"); 
if ((db2.insert("StudentElective1", null, values))!=-1) { 
    Toast.makeText(eigth.this, "Elective Successfully Selected", 2000).show(); 
} else { 
    Toast.makeText(eigth.this, 
     "Insert Error,Elective already selected", 2000).show(); 
} 

如何在插入查询中指定where条件?在android中的sqlite插入查询

回答

0

你是指什么条件。这可能对更新有意义,但插入需要指定所有值。如果你的意思是你想要选择一些从selection中插入的值,那么在Android中构建复杂查询的唯一方法是首先制作选择然后使用它们的结果。

编辑现在,很明显你需要更新。这里是你如何在Android的更新例如:

int yourId = 42; //randomly chosen. you must provide this 
String tableName = "StudentElective1"; 
String whereClause = "_id=?"; 
String [] whereArgs = { String.valueOf(your_id) }; 
db2.insert(tableName, values, whereClause, whereArgs); 

在这里,我做了_id列在那里,但你可以做到这一点上无论你想要的。请注意,我没有指定在whereClause参数直线距离,而是我用的更新方法的第四个参数:它添加上问号的地方参数在where子句中,并做一些逃逸。这是做到这一点的正确方法。

0

你不能插入其中插入使用UPDATE子句来代替。

+0

如何使用更新而不是插入?请说一些例子..刚接触到android – Suji 2012-03-24 08:44:15

+0

@Suji我修改了我的回答,给出了Android中的update子句的例子 – 2012-03-24 12:32:39

1

所有按键都基于表中的列名先前预定义.. 这里是插入query..id传递的结果将显示凭什么值..

String areaTyp = "SELECT " + AREA_TYPE + " FROM " 
      + AREA_TYPE_TABLE + " where `" + TYPE + "`=" 
      + id;