Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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
Java 安卓工作室可以';t将数据插入SQLITE数据库_Java_Android_Database_Sqlite_Android Sqlite - Fatal编程技术网

Java 安卓工作室可以';t将数据插入SQLITE数据库

Java 安卓工作室可以';t将数据插入SQLITE数据库,java,android,database,sqlite,android-sqlite,Java,Android,Database,Sqlite,Android Sqlite,我正在为我的移动应用程序主题做一个小项目。我需要将它与sqlitedatabase链接 我一直在Youtube上学习教程,我一步一步地学习教程。我没有从代码中得到任何错误 我需要将该值插入数据库并显示出来,但用户输入没有插入数据库,因此我无法显示数据库中的数据 我希望有人能帮助我。因为这个问题,我被困了两天,没有显示错误 DatabaseHelper.java public class DatabaseHelper extends SQLiteOpenHelper { public st

我正在为我的移动应用程序主题做一个小项目。我需要将它与sqlitedatabase链接

我一直在Youtube上学习教程,我一步一步地学习教程。我没有从代码中得到任何错误

我需要将该值插入数据库并显示出来,但用户输入没有插入数据库,因此我无法显示数据库中的数据

我希望有人能帮助我。因为这个问题,我被困了两天,没有显示错误

DatabaseHelper.java

public class DatabaseHelper extends SQLiteOpenHelper
{
    public static final String DATABASE_NAME = "STUDENT.DB";

    //create table
    public static final String TABLE_STUDENT = "STUDENT_TABLE";
    public static final String COL_STD_ID = "STD_ID";
    public static final String COL_STD_NAME = "STD_NAME";
    public static final String COL_STD_EMAIL = "STD_EMAIL";
    public static final String COL_STD_ADDRESS = "STD_ADDRESS";

    public DatabaseHelper(Context context) {
        super(context,DATABASE_NAME, null, 1);
        Log.e("DATABASE OPERATION","Database created/opend...");

    }

    @Override
    public void onCreate(SQLiteDatabase db) {    
        db.execSQL("CREATE TABLE " + TABLE_STUDENT +" (STD_ID INTEGER PRIMARY KEY AUTOINCREMENT,STD_NAME TEXT,STD_EMAIL TEXT, STD_ADDRESS TEXT)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS "+ TABLE_STUDENT );
        onCreate(db);
    }

    public boolean insertData(String STD_NAME, String STD_EMAIL, String STD_ADDRESS)
    {
        SQLiteDatabase db = this.getWritableDatabase();

        //get the data from user into db
        ContentValues contentValues = new ContentValues();
        contentValues.put(COL_STD_NAME,STD_NAME);
        contentValues.put(COL_STD_EMAIL,STD_EMAIL);
        contentValues.put(COL_STD_ADDRESS,STD_ADDRESS);


        //SEE WHETHER THE DATA INSERT INTO DB OR NOT
        //IF RETURN -1, DATA NOT SUCCESSFUL INSERTED
        long result = db.insert(TABLE_STUDENT,null,contentValues);
        if (result == -1)
            return false;
        else
            return true;
    }

    public Cursor getAllData() {
        SQLiteDatabase db = this.getWritableDatabase();

        Cursor result = db.rawQuery("SELECT * FROM "  + TABLE_STUDENT,null);
        return result;
    }
}
MainActivity.java

public class MainActivity extends AppCompatActivity {
    DatabaseHelper myDB;
    EditText etstdName, etstdEmail, etstdAddress;
    Button btnInsertData, btnViewData;

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

        etstdName = (EditText)findViewById(R.id.etstdName);
        etstdEmail = (EditText)findViewById(R.id.etstdEmail);
        etstdAddress = (EditText)findViewById(R.id.etstdEmail);

        btnViewData = (Button)findViewById(R.id.btnViewData);
        btnInsertData = (Button)findViewById(R.id.btnInsertData);

        InsertStdData();
    }

    // I think i get stuck at here but theres not error display at InsertStdData() methid

    public void InsertStdData() {
        btnInsertData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                boolean isInserted =   myDB.insertData(etstdName.getText().toString(),
                                       etstdEmail.getText().toString(),
                                       etstdAddress.getText().toString());

                if(isInserted = true)
                    Toast.makeText(MainActivity.this,"Data successfully inserted.",Toast.LENGTH_LONG).show();
                else
                    Toast.makeText(MainActivity.this,"Data not successfully inserted.",Toast.LENGTH_LONG).show();
            }
        });
    }

    public void viewStdData(View view) {
        Cursor result = myDB.getAllData();
        if(result.getCount() == 0) {
            //showmessage method
            showMessage("ERROR", "NO DATA FOUND");
            return;
        }

        StringBuffer buffer = new StringBuffer();
        while (result.moveToNext()){
            buffer.append("STD_ID : "+result.getString(0)+"\n");
            buffer.append("STD_NAME : "+result.getString(1)+"\n");
            buffer.append("STD_EMAIL : "+result.getString(2)+"\n");
            buffer.append("STD_ADDRESS :"+result.getString(3)+"\n\n");
        }
        //show all data
        showMessage("DATA",buffer.toString());
    }

    public void showMessage(String title, String Message) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setCancelable(true);
        builder.setTitle(title);
        builder.setMessage(Message);
        builder.show();
    }
}
您在MainActivity中调用了InsertStdData(),但没有调用viewStdData(视图视图)