在android中的sqlite中插入查询

时间:2012-03-24 08:24:02

标签: android sqlite

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

如何在insert查询中指定where条件??

3 个答案:

答案 0 :(得分:1)

以前根据表格中的列名预先定义了所有密钥。 这是insert query..id传递的值,基于结果显示的基础..

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

答案 1 :(得分:0)

你的意思是什么?这可能对更新有意义,但插入需要指定所有值。如果您的意思是要选择要从选择中插入的某些值,那么在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中指定参数,而是使用update方法的第四个参数:它在where子句中添加问号位置的参数并进行一些转义。这是正确的方法。

答案 2 :(得分:0)

你不能在insert use update中插入where子句。