SQLite 安卓数据库信息操作



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

如果我们遇到这样一种情况:要求我键入分配给数据库中列的特定字符串,并且我的应用程序返回 FALSE 或 POSITIVE,具体取决于我是否能够为其提供正确的信息。

例如:

我在安卓工作室中创建了一个包含 2 列的数据库文件。 其中一列是 (ID),另一列是 (NAME),用于存储 NAME(人员学校中的名称)的信息。

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

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

//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;
}
}

相关内容

最新更新