Java sqlite-android数据库信息操作

Java sqlite-android数据库信息操作,java,android,sqlite,Java,Android,Sqlite,我已经在android studio中创建了一个数据库,我可以通过一个.db文件访问这些信息,在这个文件中,我可以看到用户在不同自定义列中键入的所有信息 如果我们遇到这样一种情况,要求我输入一个指定给数据库中某列的特定字符串,并且我的应用程序根据我是否能够提供正确的信息返回FALSE或正值 例如: 我已经在AndroidStudio中创建了一个数据库文件,有两列。 其中一列是(ID),另一列是(NAME),用于存储NAME的信息(persons school中的名称) 稍后在应用程序中,要求用户

我已经在android studio中创建了一个数据库,我可以通过一个.db文件访问这些信息,在这个文件中,我可以看到用户在不同自定义列中键入的所有信息

如果我们遇到这样一种情况,要求我输入一个指定给数据库中某列的特定字符串,并且我的应用程序根据我是否能够提供正确的信息返回FALSE或正值

例如:

我已经在AndroidStudio中创建了一个数据库文件,有两列。 其中一列是(ID),另一列是(NAME),用于存储NAME的信息(persons school中的名称)

稍后在应用程序中,要求用户输入学校中任何学生的姓名,如果用户提供的信息正确,我们可以继续,否则我们必须重试。(因此,这里基本上是我们必须将输入的信息与存储在数据库中的信息进行匹配的地方)

我是初学者。我将与您分享我的代码,并征求关于如何开始解决此问题的建议

//The DatabaseHelper class I am working on right now

public class DatabaseHelper extends SQLiteOpenHelper 
{
    public static final String DATABASE_NAME = "miris.db";
    public static final String TABLE_NAME = "miris_table";
    public static final String COL_1 = "id";
    public static final String COL_2 = "name";


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

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

        public boolean insertData (String name) 
            {
            SQLiteDatabase db = this.getWritableDatabase();
            ContentValues contentValues = new ContentValues();
            contentValues.put(COL_2, name);
            long result = db.insert(TABLE_NAME,null ,contentValues);
            if(result == -1)
            return false;
        else
            return true;

            }
    }

在将信息插入数据库之前,您可以检查从数据库中存储的信息库中接收到的信息

例如

     public boolean insertData (String name) 
     {
        SQLiteDatabase db = this.getWritableDatabase();
        String cols[]={COL_1,COL_2};

        Cursor c=db.query(TABLE_NAME, cols,COL_2+"=?",new String[]{""+name}, null, null, null);
        if(c.getCount()>0){
            return false;
        }
        else{
            ContentValues contentValues = new ContentValues();
            contentValues.put(COL_2, name);
            long result = db.insert(TABLE_NAME,null ,contentValues);
            if(result == -1)
                return false;
            else
                return true;

        }

        }

如果我们只关注这一部分:Cursor c=db.query(TABLE_NAME,cols,COL_2+“=?”,新字符串[]{”“+NAME},null,null,null);-我曾试图阅读有关游标查询的内容,但在理解这一部分时遇到了困难。它到底在这里干什么?