DataHelper.java
/**
* Created by Home on 2/3/2017.
*/
public class DataHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "Student.db";
public static final String TABLE_NAME = "Student_info";
public static final String COL_3 = "_Id";
public static final String COL_1 = "EmailId";
public static final String COL_2 = "Password";
public DataHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "Create table " + TABLE_NAME + "(_Id INTEGER PRIMARY KEY AUTOINCREMENT , EmailId TEXT ,Password TEXT)";
//db.execSQL("CREATE TABLE " + PERSON_TABLE_NAME + "(" +
// PERSON_COLUMN_ID + " INTEGER PRIMARY KEY, " +
// PERSON_COLUMN_NAME + " TEXT, " +
// PERSON_COLUMN_GENDER + " TEXT, " +
//PERSON_COLUMN_AGE + " INTEGER)"
//);
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
onCreate(db);
}
public Boolean insertData(String emailId, String password){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_1, emailId);
contentValues.put(COL_2, password);
long result = db.insert(TABLE_NAME, null, contentValues);
if(result != -1){
return true;
}else {
return false;
}
}
}
//This is the MainActivity Class
MainActivity.java
public class MainActivity extends AppCompatActivity {
DataHelper db;
EditText editText, editText1;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = new DataHelper(this);
editText = (EditText)findViewById(R.id.editText);
editText1 = (EditText)findViewById(R.id.editText1);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Boolean result = db.insertData(editText.getText().toString(), editText1.getText().toString());
if(result == true) {
Toast toast = Toast.makeText(MainActivity.this, "Login Successful", Toast.LENGTH_SHORT);
toast.show();
}else{
Toast toast = Toast.makeText(MainActivity.this, "Login UnSuccessful", Toast.LENGTH_SHORT);
toast.show();
}
}
});
}
}
В DataHelper.java классе метод insertData продолжает возвращаться ложным. Я искал подобные проблемы, но не решил. Я не думаю, что в MainActivity.java есть ошибка. Я новичок в андроиде. Спасибо за помощь.android.database.sqlite.SQLiteException: таблица Student_info не имеет столбец с именем EMAILID (код 1):
Возможно, вам нужно будет отобразить структуру таблицы –
Строка sql = "Создать таблицу" + TABLE_NAME + "(_" + Id + "INTEGER PRIMARY KEY AUTOINCREMENT," + COL_1 + "TEXT," + COL_2 + " ТЕКСТ) "; – Pranita