如何检查SQLite数据库中是否存在记录?

时间:2019-05-10 06:04:05

标签: java android android-fragments android-sqlite

我的问题是:如何检查记录是否存在?

描述是:我有两个片段

1- Main Fragment ==>包含recyclerview,在此recyclerview数据来自firestore,并在用户单击recyclerview单个项目时将其保存到sqlite数据库中。

2- Orders Fragment ==>包含recyclerview,在此recyclerview中,数据来自sqlite,该sqlite从主片段保存。

我的问题是我何时按回栈返回主片段, 我想检查数据是否已经存储在sqlite中,如果存在,则获取产品数量并将其替换为recyclerview中单个项目的主片段中的产品数量(产品数量textview被禁用,如果发现记录使它失效并替换来自sqlite(如果记录存在))。

2 个答案:

答案 0 :(得分:0)

我不太了解您的问题,但我认为您正在尝试检查是否有任何数据插入SQLite数据库。

为此,我假设您已经在a中定义了用于执行标准流程的函数,因为您只是在询问如何检查是否有任何数据。您需要在帮助程序类中使用一个函数来检查是否有任何数据,然后从您的DatabaseHelper.class类中调用它。

您没有提供任何代码段,所以我只假设它们的声明。

假设您正在与MainFragment.javaMainFragment.java进行活动

在您的layout_mainfragment.xml中:

DatabaseHelper.class

这应返回功能参数为 IF 且找到任何索引的任何产品名称的产品数量。

在您的public String checkRecord(String productName){ this.db = getWritableDatabase(); //Cursor res = db.rawQuery("SELECT * FROM " + TABLE_NAME1,productName); String table = "record_table"; String[] columns = {"product_name","product_quantity"}; String selection = "product_name =?"; String[] selectionArgs = {productName}; String groupBy = null; String having = null; String orderBy = null; String limit = null; Cursor cursor = db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy, limit); return cursor.getString(cursor.getColumnIndex("product_quantity")); } 中:

layout_mainfragment.xml

然后在您的<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/mainFragment_recordCount" android:visibility="gone"/> 类中:

MainFragment.java

答案 1 :(得分:0)

在主要片段上

@Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if(isVisibleToUser)
        {
          //check sqlite item with firestore list item and update list and then notifyDataSetChanged();
        }
    }