Android - Where子句

时间:2017-11-24 04:17:08

标签: java android sqlite android-sqlite

我正在使用Android Studio开发库存系统。我的应用程序的功能是用户可以在搜索产品时检索详细信息。

我想创建一个可以的应用程序:

用户可以使用产品代码作为输入,同时搜索产品的位置,大小和数量

例如,当用户在产品代码中输入密钥时,搜索结果会显示位置,数量和大小。

我已经完成了产品位置的where子句。对于这个where子句,我的表名为" product_info"由两列组成,即" product_code"和" product_place"

所以我想创建一个名为" product_info2"的另一个表。有两列" product_size"和" product_quantity"。

但我的问题是:

  1. 如何制作" product_code"作为" product_info2"的主键和外键。表

  2. 如何让where子句同时显示这两个表?

  3. 这是我对" product_info"的编码表。名为ProductDBHelper.java的类:

    private static final String DATABASE_NAME = "PRODUCTINFO.DB";
    private static final int DATABASE_VERSION = 1;
    private static final String CREATE_QUERY =
            "CREATE TABLE "+ ProductContract.NewProductInfo.TABLE_PRODUCT+"("+ProductContract.NewProductInfo.PRODUCT_CODE+" TEXT,"+
                ProductContract.NewProductInfo.PRODUCT_PLACE+" TEXT);";
    
    public ProductDbHelper (Context context)
    {
    
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
            Log.e("DATABASE OPERATIONS", "Database created / opened...");
    
    }
    @Override
    public void onCreate(SQLiteDatabase db)
    
    {
    
        db.execSQL(CREATE_QUERY);
        Log.e("DATABASE OPERATIONS", "Table created...");
    
    }
    
    public void addInformations(String code, String place, SQLiteDatabase db)
    
    {
        ContentValues contentValues = new ContentValues();
        contentValues.put(ProductContract.NewProductInfo.PRODUCT_CODE, code);
        contentValues.put(ProductContract.NewProductInfo.PRODUCT_PLACE, place);
        db.insert(ProductContract.NewProductInfo.TABLE_PRODUCT, null, contentValues);
        Log.e("DATABASE OPERATIONS", "One row inserted...");
    
    }
    
    public Cursor getProduct(String product_code, SQLiteDatabase sqLiteDatabase)
    {
    
    
        String[] projections = {ProductContract.NewProductInfo.PRODUCT_PLACE};
        String selection = ProductContract.NewProductInfo.PRODUCT_CODE+" LIKE ? ";
        String[] selection_args = {product_code};
        Cursor cursor = sqLiteDatabase.query(ProductContract.NewProductInfo.TABLE_PRODUCT, projections, selection, selection_args, null, null, null);
        return cursor;
    
    
    }
    
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    
    {
    
    }
    

    谢谢

0 个答案:

没有答案