android - 这是原始查询的正确方法吗? - 安卓

标签 android sql

我只是想问一下这是否是使用 select,from 等的正确方法以及我的条件是否正确:

private Cursor delete(){
        calendarData = new CalendarData(this);
        SQLiteDatabase db = calendarData.getWritableDatabase();
        String mySQL = " select"+ _ID+ "from " + TABLE_NAME + "where" + _ID + "==" + deleteAnAppointment.getText().toString();
        Cursor idToDelete = db.rawQuery(mySQL, null);
        startManagingCursor(idToDelete);
        return idToDelete;
    }

    private void selectToDelete(Cursor cursor){
        calendarData = new CalendarData(this);
        SQLiteDatabase db = calendarData.getWritableDatabase();
        if(cursor.getCount() > 0){
            db.delete(TABLE_NAME, _ID+" = "+deleteAnAppointment.getText().toString(), null);
        }

    }

无论如何我都没有得到任何结果,只是想看看它是否是格式化 SQL 的正确方法,谢谢

最佳答案

不,您的查询有误。

改变这个:

String mySQL = " select"+ _ID+ "from " + TABLE_NAME + "where" + _ID + "==" +
      deleteAnAppointment.getText().toString();
Cursor idToDelete = db.rawQuery(mySQL, null);

对此:

String mySQL = "SELECT "+ _ID+ " FROM " + TABLE_NAME + " WHERE " + _ID + " = ?";
Cursor idToDelete = db.rawQuery(mySQL, 
     new String[]{deleteAnAppointment.getText().toString()});

关于android - 这是原始查询的正确方法吗? - 安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10322933/

相关文章:

c# - Entity Framework Code First 读写桥表

mysql - 在响应/更新中找到日期之间最长和最快的差异

android - 在 SQLite 数据库中加入 3 个表

sql - 用作表达式的子查询不起作用

android - 您需要在此 Activity 中使用 Theme.AppCompat 主题(或后代)。更改为 Theme.AppCompat 会导致其他错误

android - Galaxy S4 OpenCL 示例/教程(SDK 目标 : Linux)

java - Android AndEngine 问题 : java. lang.IllegalArgumentException: No EGLConfig Found

android - Android 中 SQLite 的默认线程模式是什么?

android - 从 Android 应用程序使用 WCF/Rest

python - Pandas 合并两个没有某些列的数据框