I am trying to send data to database from a spinner I initialize the database like this SPINNER + " TYPE ";
And in insert data method I put it as Type spinner
but this line gives me an error contentValues.put(SPINNER, spinner);
what should I put there instead of put
JavaScript
x
public boolean insertData(String fname, String lname, String pnumber, String email, String nic, Type spinner) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(FNAME, fname);
contentValues.put(LNAME, lname);
contentValues.put(PNUMBER, pnumber);
contentValues.put(EMAIL, email);
contentValues.put(NIC, nic);
contentValues.put(SPINNER, spinner);
long result = db.insert(DB_TABLE, null, contentValues);
return result != -1;
}
Advertisement
Answer
You are trying to save a spinner object in the database which of course fails.
Change the data type of the column SPINNER
to TEXT
in the table:
JavaScript
SPINNER + " TEXT";
Also change the data type of the argument spinner
to String
in the definition of insertData()
:
JavaScript
public boolean insertData(String fname, String lname, String pnumber, String email, String nic, String spinner)
When you call insertData()
pass the selected item of the spinner instead of the spinner itself:
JavaScript
insertData( .., yourSpinner.getSelectedItem().toString())
Now uninstall the app from the device to delete the database and rerun so it is recreated with the proper data type for the column SPINNER
.