查询中的Where子句

时间:2017-08-07 20:28:28

标签: android android-sqlite

我正在尝试在Android Studio中使用SQLite创建查询,但我遇到了很大的麻烦 我正在尝试select * from Student.db where name = Mike

以下是我的代码片段:

package com.example.lyubo.database;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * Created by LYUBO on 2017/08/07.
 */

public class DatabaseHelper extends SQLiteOpenHelper {
    public static final String DATABASE_NAME = "Student.db";
    public static final String TABLE_NAME = "student_table";
    public static final String COL_1 = "ID";
    public static final String COL_2 = "NAME";
    public static final String COL_3 = "SURNAME";
    public static final String COL_4 = "MARKS";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, 1);

    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table " + TABLE_NAME +" (ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,SURNAME TEXT,MARKS INTEGER)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
        onCreate(db);
    }



    public Cursor getAllData() {
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor res = db.rawQuery("select * from "+TABLE_NAME + " WHERE " + COL_2 + " = Mike",null);
        return res;
    }
}

我知道这个问题在我的查询中。我不确定我是否遗漏了什么。

请协助。谢谢。

1 个答案:

答案 0 :(得分:1)

使用ExifInterface exif = new ExifInterface(fileNameFull); orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED); BitmapFactory.Options optsForBounds = new BitmapFactory.Options(); optsForBounds.inJustDecodeBounds = true; BitmapFactory.decodeFile(fileName, optsForBounds); int width = optsForBounds.outWidth, height = optsForBounds.outHeight; if (orientation == ExifInterface.ORIENTATION_ROTATE_90 || orientation == ExifInterface.ORIENTATION_ROTATE_270) { int temp = width; //noinspection SuspiciousNameCombination width = height; height = temp; } 为什么? 基本上光标不知道去哪里或找到它自己(不知道如何将它放在实际的单词中)所以你需要将它放在列表中以执行数据库查询。

尝试修剪字符串以确保没有多余的空格:

res.moveToFirst()