I’m trying to insert data into the SQLite database using get EditText, but I can’t seem to find a solution to it. So far, I cannot seem to understand how get EditText seems to work. I’ve tried using one of the solutions in here, but I can’t understand how to work it.Inserting EditText & Spinner data into SQLite.
Here’s my code.
DatabaseActivity.java
public class DatabaseActivity extends Activity {
DBAdapter db = new DBAdapter(this);
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button submitbutton = (Button) findViewById(R.id.submitbutton);
submitbutton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
db.open();
//long id;
//id = db.insertTitle("isbn", "title", "publisher");
EditText editTextIsbn = (EditText)findViewById(R.id.EditTextIsbn);
String IsbnValue = editTextIsbn.getText().toString();
EditText editTextTitle = (EditText)findViewById(R.id.EditTextTitle);
String TitleValue = editTextTitle.getText().toString();
EditText editTextPublisher = (EditText)findViewById(R.id.EditTextPublisher);
String PublisherValue = editTextPublisher.getText().toString();
db.close();
}
});
}
}
DBAdapter.java
public class DBAdapter
{
public static final String KEY_ROWID = "_id";
public static final String KEY_ISBN = "isbn";
public static final String KEY_TITLE = "title";
public static final String KEY_PUBLISHER = "publisher";
private static final String TAG = "DBAdapter";
private static final String DATABASE_NAME = "books";
private static final String DATABASE_TABLE = "titles";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_CREATE =
"create table titles (_id integer primary key autoincrement, "
+ "isbn text not null, title text not null, "
+ "publisher text not null);";
private final Context context;
private DatabaseHelper DBHelper;
private SQLiteDatabase db;
public DBAdapter(Context ctx)
{
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}
//---insert a title into the database---
public long insertTitle(String isbn, String title, String publisher)
{
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_ISBN, isbn);
initialValues.put(KEY_TITLE, title);
initialValues.put(KEY_PUBLISHER, publisher);
return db.insert(DATABASE_TABLE, null, initialValues);
}
Thanks in advance.
Umm, you need to actually use your insertTitle method you know… it’s not going to do anything just sitting there. It looks like you tried it before but in the wrong place, before you set the string values from the EditText fields.
After you get the last EditText value and before your db.close(), insert the following:
db.insertTitle(IsbnValue, TitleValue, PublisherValue);