android 中的 sqlite 没有将我的数据插入到 table

sqlLite in android didnt insert my data to table

我不知道为什么在执行 insertGasData 后我有 return 结果 = -1。在其他类似的结构中,结果是 != -1,但有 = -1。 有 DatabaseHelper class 和 main class

public class DatabaseHelper extends SQLiteOpenHelper {
    public static final String DATABASE_NAME = "car.db";
    public static final String TABLE_NAME2 = "car_gas_table";

    public static final String COL_G_1 = "GAS_ID";
    public static final String COL_G_2 = "GAS_DATE";
    public static final String COL_G_3 = "GAS_MILEAGE";
    public static final String COL_G_4 = "FUEL_TYPE";
    public static final String COL_G_5 = "FUEL_COST";
    public static final String COL_G_6 = "FUEL_VOLUME";
   
    public DatabaseHelper(@Nullable Context context) {
        super(context, DATABASE_NAME, null, 1);

    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL("create table " + TABLE_NAME2 + " (GAS_ID INTEGER PRIMARY KEY AUTOINCREMENT, GAS_DATE TEXT, GAS_MILEAGE TEXT, FUEL_TYPE TEXT, FUEL_COST TEXT, FUEL_VOLUME TEXT)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
        sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME2);
    }
    
    public boolean insertGasData(String date, String mileage, String fuel_type, String fuel_price, String fuel_volume) {
        SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put(COL_G_2, date);
        contentValues.put(COL_G_3, mileage);
        contentValues.put(COL_G_4, fuel_type);
        contentValues.put(COL_G_5, fuel_price);
        contentValues.put(COL_G_6, fuel_volume);
        long result = sqLiteDatabase.insert(TABLE_NAME2, null, contentValues);
        if (result == -1)
            return false;
        else return true;
    }

有调用方法 我用那里的字符串来消除其他错误,但它没有帮助

    public void AddRefuelrData() {
        bDodaj.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
             //   boolean isInsert = myDb.insertGasData(eRefDate.getText().toString(), eRefMileage.getText().toString(), eRefType.getText().toString(), eRefPrice.getText().toString(), eRefVolume.getText().toString());
                boolean isInsert = myDb.insertGasData("dd","mm", "tt", "pr", "vo");
                if (isInsert == true)
                    Toast.makeText(MainActivity.this, "Data inserted", Toast.LENGTH_LONG).show();
                else
                    Toast.makeText(MainActivity.this, "Data not inserted", Toast.LENGTH_LONG).show();
            }
        });
    }

在调用方法 insertGasData 后我有 return false

enter image description here

您确定 table 确实已正确创建吗? 使用设备文件资源管理器检查数据库是否已创建。 这应该有助于缩小问题范围。