Inserting into Database through Edittext Field in Android -
i new android
. not able insert data database. although accepting text through edittext field not saving in database.
i want insert data database table using xml
button's android:onclick
attribute.
when click on on save button app crashes immediately
//interviewactivity.java
import java.util.arraylist; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; import android.widget.tablelayout; import android.widget.tablerow; import android.widget.textview; import android.widget.remoteviews.actionexception; import android.widget.toast; import android.content.contentvalues; import android.content.intent; import android.database.sqlite.sqlitedatabase; public class interviewactivity extends activity { @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.welcomeactivity); } public void onquestionclicked(view view) { edittext q = (edittext)findviewbyid(r.id.questiont); edittext = (edittext)findviewbyid(r.id.answert); q.setvisibility(view.visible); a.setvisibility(view.invisible); toast.maketext(this, "enter question here", toast.length_long).show(); } public void onanswerclicked(view view) { edittext q = (edittext)findviewbyid(r.id.questiont); edittext = (edittext)findviewbyid(r.id.answert); a.setvisibility(view.visible); q.setvisibility(view.invisible); toast.maketext(this, "enter answer here", toast.length_long).show(); } public void onsave(view view) { edittext q = (edittext)findviewbyid(r.id.questiont); edittext = (edittext)findviewbyid(r.id.answert); string q = q.gettext().tostring(); string = a.gettext().tostring(); toast.maketext(this,"question :"+" " + q + "\n" + "answer :"+" " + a, toast.length_long).show(); } public void oncancel(view view) { finish(); } }
//trying.java
package com.ques.ans; import android.content.contentvalues; import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqlitedatabase.cursorfactory; import android.database.sqlite.sqliteopenhelper; public class trying extends sqliteopenhelper{ public static final string db_name = "save.db"; public static final int db_version=2; public static final string table="qnadb"; public static final string sno = "sno"; public static final string question = "question"; public static final string answer = "answer"; public trying(context context) { super(context,db_name, null, db_version); // todo auto-generated constructor stub } @override public void oncreate(sqlitedatabase db) { string sql = "create table table (sno integer autoincrement primary key not null, question text , answer text);"; // todo auto-generated method stub db.execsql(sql); } @override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { db.execsql("drop table if exists " + table); oncreate(db); } public void onsaving(string q,string a) { sqlitedatabase db=this.getwritabledatabase(); contentvalues cv=new contentvalues(); cv.put(sno, 1); cv.put(question, q); cv.put(answer, a); db.insert(table,null, cv); db.close(); } }
so pk
(primary key) using autoicrement
can't add database. try repair method snippet of code:
contentvalues cv = new contentvalues(); cv.put(question, q); cv.put(answer, a); db.insert(table, null, cv);
also think wrong. defined table name table
string sql = "create table table (sno integer autoincrement primary key not null, question text , answer text);";
and static variable
has value gnadb. incorrect, isn't?
public static final string table = "qnadb";
so change table name to
string sql = "create table qnadb (sno integer autoincrement primary key not null, question text , answer text);
or change value of table
variable.
so try change suggestions , should works.
Comments
Post a Comment