Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 未在SQLITE数据库中插入数据_Android_Database_Android Sqlite - Fatal编程技术网

Android 未在SQLITE数据库中插入数据

Android 未在SQLITE数据库中插入数据,android,database,android-sqlite,Android,Database,Android Sqlite,我想在数据库表中插入一些值。logcat中没有错误,但表中仍然没有插入值。我无法确定问题所在 这是数据库类。 FoodieDatabase.java public class FoodieDatabase extends SQLiteOpenHelper { public String DATABASE_CREATE = "create table " + TableData.TableInfo.TABLE_NAME + "("

我想在数据库表中插入一些值。logcat中没有错误,但表中仍然没有插入值。我无法确定问题所在

这是数据库类。 FoodieDatabase.java

public class FoodieDatabase extends SQLiteOpenHelper {

       public String DATABASE_CREATE = "create table "
               + TableData.TableInfo.TABLE_NAME + "("
               + TableData.TableInfo.COLUMN_ID + " INTEGER primary key ,"
               + TableData.TableInfo.COLUMN_hostel + " TEXT not null,"
               + TableData.TableInfo.COLUMN_weekday + " TEXT not null,"
               + TableData.TableInfo.COLUMN_category + " TEXT not null,"
               + TableData.TableInfo.COLUMN_food + " TEXT not null,"
               + TableData.TableInfo.COLUMN_rate + " TEXT not null" + ")";


        private static final int DATABASE_VERSION = 1;

        // Database creation sql statement
        public FoodieDatabase(Context context) {
            super(context, TableData.TableInfo.DATABASE_NAME, null, DATABASE_VERSION);
            Log.w("FoodieDatabase","Database Created");
        }

        @Override
        public void onCreate(SQLiteDatabase database) {
                    database.execSQL(DATABASE_CREATE);
            Log.w(FoodieDatabase.class.getName(),
                    " Table " + TableData.TableInfo.TABLE_NAME + " Successfully created. "
            );
        }
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        }

        public void insertvalues(FoodieDatabase fdb, Integer id, String hostel,
                                 String weekday, String category, String food , String rate ){
            SQLiteDatabase sdb = fdb.getWritableDatabase();

            ContentValues cv = new ContentValues();
            cv.put(TableData.TableInfo.COLUMN_ID,id);
            cv.put(TableData.TableInfo.COLUMN_hostel,hostel );
            cv.put(TableData.TableInfo.COLUMN_weekday,weekday );
            cv.put(TableData.TableInfo.COLUMN_category,category );
            cv.put(TableData.TableInfo.COLUMN_food,food );
            cv.put(TableData.TableInfo.COLUMN_rate,rate );

            sdb.insert(TableData.TableInfo.TABLE_NAME, null, cv);
        }

        public Cursor retrievevalues(FoodieDatabase fdb){

            SQLiteDatabase sq = fdb.getReadableDatabase();
            String[] columns = {TableData.TableInfo.COLUMN_ID,
                    TableData.TableInfo.COLUMN_hostel,
                    TableData.TableInfo.COLUMN_weekday,
                    TableData.TableInfo.COLUMN_category,
                    TableData.TableInfo.COLUMN_food,
                    TableData.TableInfo.COLUMN_rate};
            Cursor CR = sq.query(TableData.TableInfo.TABLE_NAME,columns,null,null,null,null,null);
            return CR;
        }
    }
public class InsertData extends AppCompatActivity {
    com.rengwuxian.materialedittext.MaterialEditText sno;
    com.rengwuxian.materialedittext.MaterialEditText hostel;
    com.rengwuxian.materialedittext.MaterialEditText category;
    com.rengwuxian.materialedittext.MaterialEditText food;
    com.rengwuxian.materialedittext.MaterialEditText weekday;
    com.rengwuxian.materialedittext.MaterialEditText rate;


    Button insert;

    String Shostel;
    String Scategory;
    String Sfood;
    String Sweekday;
    String Srate;

    Integer Isno;

    Context context= this;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_insert_data);

        sno = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.sno);
        sno.setText("1");
        hostel = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.hostel);
        category = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.category);
        food = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.food);
        weekday = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.weekday);
        rate = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.rate);

        insert = (Button) findViewById(R.id.insert);

        Isno = Integer.parseInt(sno.getText().toString());
        Shostel = hostel.getText().toString();
        Scategory = category.getText().toString();
        Sfood = food.getText().toString();
        Sweekday = weekday.getText().toString();
        Srate = rate.getText().toString();

        insert.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FoodieDatabase fdb = new FoodieDatabase(context);
                fdb.insertvalues(fdb,Isno,Shostel,Sweekday,Scategory,Sfood,Srate);
                Toast.makeText(InsertData.this,"Value No." + Isno + Shostel + Scategory + "inserted successfully.",Toast.LENGTH_LONG).show();

                Intent intent = new Intent(InsertData.this, Home.class);
                InsertData.this.startActivity(intent);
                finish();
            }
        });
    }
InsertData.java

public class FoodieDatabase extends SQLiteOpenHelper {

       public String DATABASE_CREATE = "create table "
               + TableData.TableInfo.TABLE_NAME + "("
               + TableData.TableInfo.COLUMN_ID + " INTEGER primary key ,"
               + TableData.TableInfo.COLUMN_hostel + " TEXT not null,"
               + TableData.TableInfo.COLUMN_weekday + " TEXT not null,"
               + TableData.TableInfo.COLUMN_category + " TEXT not null,"
               + TableData.TableInfo.COLUMN_food + " TEXT not null,"
               + TableData.TableInfo.COLUMN_rate + " TEXT not null" + ")";


        private static final int DATABASE_VERSION = 1;

        // Database creation sql statement
        public FoodieDatabase(Context context) {
            super(context, TableData.TableInfo.DATABASE_NAME, null, DATABASE_VERSION);
            Log.w("FoodieDatabase","Database Created");
        }

        @Override
        public void onCreate(SQLiteDatabase database) {
                    database.execSQL(DATABASE_CREATE);
            Log.w(FoodieDatabase.class.getName(),
                    " Table " + TableData.TableInfo.TABLE_NAME + " Successfully created. "
            );
        }
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        }

        public void insertvalues(FoodieDatabase fdb, Integer id, String hostel,
                                 String weekday, String category, String food , String rate ){
            SQLiteDatabase sdb = fdb.getWritableDatabase();

            ContentValues cv = new ContentValues();
            cv.put(TableData.TableInfo.COLUMN_ID,id);
            cv.put(TableData.TableInfo.COLUMN_hostel,hostel );
            cv.put(TableData.TableInfo.COLUMN_weekday,weekday );
            cv.put(TableData.TableInfo.COLUMN_category,category );
            cv.put(TableData.TableInfo.COLUMN_food,food );
            cv.put(TableData.TableInfo.COLUMN_rate,rate );

            sdb.insert(TableData.TableInfo.TABLE_NAME, null, cv);
        }

        public Cursor retrievevalues(FoodieDatabase fdb){

            SQLiteDatabase sq = fdb.getReadableDatabase();
            String[] columns = {TableData.TableInfo.COLUMN_ID,
                    TableData.TableInfo.COLUMN_hostel,
                    TableData.TableInfo.COLUMN_weekday,
                    TableData.TableInfo.COLUMN_category,
                    TableData.TableInfo.COLUMN_food,
                    TableData.TableInfo.COLUMN_rate};
            Cursor CR = sq.query(TableData.TableInfo.TABLE_NAME,columns,null,null,null,null,null);
            return CR;
        }
    }
public class InsertData extends AppCompatActivity {
    com.rengwuxian.materialedittext.MaterialEditText sno;
    com.rengwuxian.materialedittext.MaterialEditText hostel;
    com.rengwuxian.materialedittext.MaterialEditText category;
    com.rengwuxian.materialedittext.MaterialEditText food;
    com.rengwuxian.materialedittext.MaterialEditText weekday;
    com.rengwuxian.materialedittext.MaterialEditText rate;


    Button insert;

    String Shostel;
    String Scategory;
    String Sfood;
    String Sweekday;
    String Srate;

    Integer Isno;

    Context context= this;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_insert_data);

        sno = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.sno);
        sno.setText("1");
        hostel = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.hostel);
        category = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.category);
        food = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.food);
        weekday = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.weekday);
        rate = (com.rengwuxian.materialedittext.MaterialEditText) findViewById(R.id.rate);

        insert = (Button) findViewById(R.id.insert);

        Isno = Integer.parseInt(sno.getText().toString());
        Shostel = hostel.getText().toString();
        Scategory = category.getText().toString();
        Sfood = food.getText().toString();
        Sweekday = weekday.getText().toString();
        Srate = rate.getText().toString();

        insert.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FoodieDatabase fdb = new FoodieDatabase(context);
                fdb.insertvalues(fdb,Isno,Shostel,Sweekday,Scategory,Sfood,Srate);
                Toast.makeText(InsertData.this,"Value No." + Isno + Shostel + Scategory + "inserted successfully.",Toast.LENGTH_LONG).show();

                Intent intent = new Intent(InsertData.this, Home.class);
                InsertData.this.startActivity(intent);
                finish();
            }
        });
    }
InsertData.java文件中,我使用Toast检查像
这样的值是否为no
Shostel
Scategory
Shostel
Scategory
值在toast中为空。我的意思是它们是空白的,没有显示任何内容。而
Isno
总是显示我在
editText
中最初设置的
1

如果你需要更多的细节,一定要告诉我。提前谢谢

您在用户看到UI之前就存储了这些值。您应该在单击后将编辑文本中的值放入--


为什么你会得出结论,没有插入任何内容,这到底是什么意思?你的桌子还是空的,还是你的结论基于你的吐司中的价值观?您没有从数据库中检索ValueYes,因此如何确保没有插入任何内容