0

アプリケーションを実行するたびにエラーが発生します

sqlite が返されました: エラー コード = 1、msg = そのような列はありません: Bateria

データベース コード

    public AdminSQLiteOpenHelper(Context context, String nombre,
            CursorFactory factory, int version) {
        super(context, nombre, factory, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table gas(_id integer primary key autoincrement, "
                + "estacion text not null, precio intenger not null, fecomgas text not null)");
        db.execSQL("create table aceite(_id integer primary key autoincrement, "
                + "marcef text not null, precio intenger not null, fecamac text not null)");
        db.execSQL("create table repuestos(_id integer primary key autoincrement, tipo text not null, precio intenger not null, fecomrep text not null)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int versionAnte, int versionNue) {
        db.execSQL("drop table if exists gas");
        db.execSQL("create table gas(_id integer primary key autoincrement, "
                + "estacion text not null, precio intenger not null, fecomgas text not null)");
        db.execSQL("drop table if exists aceite");
        db.execSQL("create table aceite(_id integer primary key autoincrement, "
                + "marcef text not null, precio intenger not null, fecamac text not null)");
        db.execSQL("drop table if exists repuestos");
        db.execSQL("create table repuestos(_id integer primary key autoincrement, tipo text not null, precio intenger not null, fecomrep text not null)");

    }
}

このメソッドを呼び出すたびにエラーが発生します

public void consulta(View v) {
        AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this, "mimoto",
                null, 1);
        SQLiteDatabase bd = admin.getWritableDatabase();
        String tipor = tiporep.getText().toString();
        //String[] repu = new String[] {tipor};
        Cursor filas = bd.rawQuery("select tipo,precio,fecomrep  from repuestos where tipo=" + tipor
                        + "", null);
        if (filas.moveToLast()) {
            tv01.setText(filas.getString(0));
            tv02.setText(filas.getString(1));
            tv03.setText(filas.getString(2));

        } else
            //Toast.makeText(this, "No existe una persona con dicho dni" + tv3,
                //  Toast.LENGTH_SHORT).show();
        bd.close();
        // Fin ultimo tanqueo
    }

Bateria は編集テキストである String tipor からのものです。

4

2 に答える 2

0

値bateriaを含む変数tiporを引用符で囲んだためだと思います。クエリは

select tipo,precio,fecomrep  from repuestos where tipo="' + tipor
                        + "'", null);

お役に立てれば

于 2013-05-10T16:08:57.737 に答える
0

解決策は

Cursor filas = bd.rawQuery( "select tipo,precio,fecomrep from repuestos where tipo='" + tipor + "'", null);
于 2013-05-22T05:56:17.290 に答える