如何从给定字符串中获取sqlite中的数据?

时间:2014-06-09 04:55:42

标签: android sqlite

我创建了一个下拉列表,我想要点击名称的详细信息,该名称应该从database.i中获取。想在sqllite.it中写为查询。不应该是原始查询。

下面是我的代码:

Cursor cursor = db.query("contacts", requiredColumn,"name='+idea'", null, null, null, null);

变量idea是我从下拉列表中选择的名称。

任何人请帮帮我

5 个答案:

答案 0 :(得分:0)

要获取点击名称的详细信息,请使用此查询

Cursor cursor = db.query("contacts", requiredColumn, "name='" + idea + "'", null, null, null, null);

而不是

 Cursor cursor = db.query("contacts", requiredColumn,"name='+idea'", null, null, null, null);

答案 1 :(得分:0)

Cursor cursor = db.query(
            "contacts",
            requiredColumn, // array of column names
            name + " = ?",
            new String[] { idea },
            null, // groupBy
            null, // having
            null  // orderBy
);

答案 2 :(得分:0)

Cursor c = db.rawQuery("SELECT * FROM contacts WHERE name= '" + idea +"'",
                null);

<强>更新 因此query的正确语法是

public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)

所以你的代码应该是

db.query(
        "contacts",
        requiredColumn, // A list of which columns to return.
        "name = ? ", //A filter declaring which rows to return.
        new String[] { idea },
        null, 
        null, 
        null,
        null
);

在android中引用query

尝试使用此代码,我希望这会对您有所帮助。

答案 3 :(得分:0)

使用此功能。

Cursor cursor = db.query("contacts", new String[] {KEY_NAME}, KEY_NAME+ "=?",
            new String[] {"idea"}, null, null, null, null);

答案 4 :(得分:0)

您必须使用

打开sqlite数据库
private SQLiteDatabase database;
private MyDBHelper dbHelper;
public void open()  
    {
        database = dbHelper.getWritableDatabase();
    }

然后输入您的查询:

public Cursor getData(String idea)
    {
        Cursor cursor ;

        cursor = database.query("contacts", null, 
                "name='" + idea + "'", null , null , null , null);

        if(cursor == null)
            return null ;

        cursor.moveToFirst();
        return cursor ;
    }

从您的Activity类中的光标获取数据:

Cursor cursor = getData("Your_String");
String Name = cursor.getString(cursor.getColumnIndex("name"));

希望这对你有用。