Невозможно вставить значения в базу данных - PullRequest
0 голосов
/ 08 апреля 2020

Я разработал базу данных в android, но моя проблема в том, что данные не вставляются, как показано ниже. Любой ответ на мой запрос высоко ценится.

DatabaseHelper

package com.example.mjpinventory;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import androidx.annotation.Nullable;

public class DatabaseHelper extends SQLiteOpenHelper {
    private static final int VERSION = 2;
    public static final String DATABASE_NAME = "MJP.db";
    public static final String TABLE_NAME = "PRODS";

    public static final String COLS_1 = "ID";
    public static final String COLS_2 = "REF_NO";
    public static final String COLS_3 = "PRODUCT";
    public static final String COLS_4 = "QTY";
    public static final String COLS_5 = "PRICE";
    public static final String COLS_6 = "AMOUNT";
    public static final String COLS_7 = "SUPPLIER";
    public static final String COLS_8 = "MODEL";
    public static final String COLS_9 = "SRP";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, 2);

    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE " + TABLE_NAME + "(ID INTEGER PRIMARY KEY AUTOINCREMENT, REF_NO TEXT, PRODUCT TEXT, QUANTITY INTEGER," +
                "PRICE INTEGER, AMOUNT INTEGER, SUPPLIER TEXT, MODEL TEXT, SRP INTEGER)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){

        db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(db);
    }

    public boolean insertData(String ref, String product, String qty, String price, String amt, String supplier, String model, String srp) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put(COLS_2, ref);
        contentValues.put(COLS_3, product);
        contentValues.put(COLS_4, qty);
        contentValues.put(COLS_5, price);
        contentValues.put(COLS_6, amt);
        contentValues.put(COLS_7, supplier);
        contentValues.put(COLS_8, model);
        contentValues.put(COLS_9, srp);
        long result = db.insert(TABLE_NAME, null, contentValues);
        //db.close();

        //To check whether Data is Inserted in Database
        if (result==-1) {
            return false;
        } else {
            return true;

        }
    }
}

MainActivity

package com.example.mjpinventory;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ClipData;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    DatabaseHelper myDb;
    EditText _ref, _product, _qty, _price, _amt, _supplier, _model, _srp;
    Button btn_AddP, btn_viewProp;
    SQLiteOpenHelper openHelper;
    SQLiteDatabase db;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myDb = new DatabaseHelper(this);

        _ref = (EditText) findViewById(R.id.d_ref);
        _product = (EditText) findViewById(R.id.d_product);
        _qty = (EditText) findViewById(R.id.d_qty);
        _price = (EditText) findViewById(R.id.d_price);
        _amt = (EditText) findViewById(R.id.d_amt);
        _supplier = (EditText) findViewById(R.id.d_supplier);
        _model = (EditText) findViewById(R.id.d_model);
        _srp = (EditText) findViewById(R.id.d_srp);
        openHelper = new DatabaseHelper(this);

        btn_AddP = (Button) findViewById(R.id.btn_AddP);
        btn_viewProp = (Button) findViewById(R.id.btn_viewProp);


        // AddData();

        btn_AddP.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String ref = _ref.getText().toString();
                String product = _product.getText().toString();
                String qty = _qty.getText().toString();
                String price = _price.getText().toString();
                String amt = _amt.getText().toString();
                String supplier = _supplier.getText().toString();
                String model = _model.getText().toString();
                String srp = _srp.getText().toString();
                db = openHelper.getWritableDatabase();
                insetData(ref, product, qty, price, amt, supplier, model, srp);
                Toast.makeText(getApplicationContext(), "DATA INSERTED SUCCESSFULLY", Toast.LENGTH_LONG).show();


            }


        });

    }

    public void insetData(String ref, String product, String qty, String price, String amt, String supplier, String model, String srp) {
        ContentValues contentValues = new ContentValues();
        contentValues.put(DatabaseHelper.COLS_2, ref);
        contentValues.put(DatabaseHelper.COLS_3, product);
        contentValues.put(DatabaseHelper.COLS_4, qty);
        contentValues.put(DatabaseHelper.COLS_5, price);
        contentValues.put(DatabaseHelper.COLS_6, amt);
        contentValues.put(DatabaseHelper.COLS_7, supplier);
        contentValues.put(DatabaseHelper.COLS_8, model);
        contentValues.put(DatabaseHelper.COLS_9, srp);
        long id = db.insert(DatabaseHelper.TABLE_NAME, null, contentValues);


    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...