validate user name and password from existing data base when click login button android -


dear have 2 buttons in main view "signup" , "login" when click signup next view loaded 2 text box field "user name" , "password" , submitt button when click on button sending data data base , return main activity using finish () in on buttonclick() event. when click on login button opens next view user name , password when fill , click submitt button force close ..i use validate() method in content provider database...so not able find bug pls see code , me pls...thanks in adv.and 1 question how check wheather data inserted in database or not ...

my content provider class is

    public class mycontentprovider extends contentprovider {  private sqlitedatabase sqldb;  public databasehelper dbhelper;  private static final string database_name = "users.db";  private static final int database_version = 1;  private static final string table_name = "user";  private static final string tag = "mycontentprovider";  public static class databasehelper extends sqliteopenhelper {  //public string user_name; //public string passwords;  databasehelper(context context) {         super(context, database_name, null, database_version);     }      @override     public void oncreate(sqlitedatabase db) {         // create table store user names         db.execsql("create table "                 + table_name                 + "( _id integer primary key autoincrement, user_name text,passwords text);");     }     public boolean validateuser(string username, string password){            cursor c = getreadabledatabase().rawquery(                     "select * " + table_name + " "                             + myusers.user.user_name + "='" + username +"'and "+myusers.user.pass+"='"+password+"'" ,  null);            if (c.getcount()>0)               return true;               return false;         }      @override     public void onupgrade(sqlitedatabase db, int oldversion, int newversion) {         db.execsql("drop table if exists " + table_name);         oncreate(db);     }  } @override public int delete(uri uri, string s, string[] as) {     return 0; } @override public string gettype(uri uri) {     return null; }  @override public uri insert(uri uri, contentvalues contentvalues) {     // database insert records     sqldb = dbhelper.getwritabledatabase();     // insert record in user table , row number of inserted record     long rowid = sqldb.insert(table_name, "",contentvalues);     if (rowid > 0) {         uri rowuri = contenturis.appendid(                 myusers.user.content_uri.buildupon(), rowid).build();         getcontext().getcontentresolver().notifychange(rowuri, null);         return rowuri;     }     throw new sqlexception("failed insert row " + uri); }   @override public boolean oncreate() {     dbhelper = new databasehelper(getcontext());     return (dbhelper == null) ? false : true; }  @override public cursor query(uri uri, string[] projection, string selection,         string[] selectionargs, string sortorder) {     sqlitequerybuilder qb = new sqlitequerybuilder();     sqlitedatabase db = dbhelper.getreadabledatabase();     qb.settables(table_name);     cursor c = qb.query(db, projection, selection, null, null, null,             sortorder);     c.setnotificationuri(getcontext().getcontentresolver(), uri);     return c; }   @override public int update(uri uri, contentvalues contentvalues, string s,         string[] as) {     return 0; } 

myuser class is

public class myusers { public static databasehelper dbhelper; static final string table_name = "user";  public static final string authority = "com.linkwithweb.providers.mycontentprovider";  // basecolumn contains _id. public static final class user implements basecolumns {      public static final uri content_uri = uri             .parse("content://com.linkwithweb.providers.mycontentprovider");      // table column     public static final string user_name = "user_name";     public static final string pass = "pass";   } 

loginpage class is:

 public class loginpage extends activity  {  // databasehelper dbhelper; databasehelper dbhelper=new databasehelper(loginpage.this);     @override public void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.loginpage);     button button3 = (button) findviewbyid(r.id.button3);     button3.setonclicklistener(new view.onclicklistener() {     public void onclick(view view) {          edittext etext = (edittext) findviewbyid(r.id.edittext);          string  name=( etext.gettext().tostring());          edittext etext2 = (edittext) findviewbyid(r.id.edittext3);          string  password    =( etext2.gettext().tostring());          log.i("saurabh ..",name);         if (dbhelper.validateuser(name,password))         {             intent = new intent(loginpage.this,welcome.class);             startactivity(i);          }       //else      //toast.maketext(getbasecontext(), "wrong username/password", toast.length_long).show();            }     });         } 

signup page is:::

  public class signform extends activity  {  myadapter madapter=null; databasehelper dbhelper;  @override public void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.loginform);      button button1 = (button) findviewbyid(r.id.button1);     button1.setonclicklistener(new view.onclicklistener() {     public void onclick(view view) {           edittext etext = (edittext) findviewbyid(r.id.edittext1);           string names=( etext.gettext().tostring());           edittext etext2 = (edittext) findviewbyid(r.id.edittext3);           string password    =( etext2.gettext().tostring());           **madapter.insertrecord(names,password)**;             finish();         }      });     madapter = new myadapter(this);   } class myadapter extends baseadapter implements onclicklistener  {                  private layoutinflater inflater;                  public myadapter(context ctx) {                     super();                     this.inflater = (layoutinflater) ctx.getsystemservice(context.layout_inflater_service);                 }                            public void insertrecord(string unames,string passw) {                     contentvalues values = new contentvalues();                     values.put(myusers.user.user_name, unames);                     values.put(myusers.user.pass, passw);                     getcontentresolver().insert(myusers.user.content_uri, values);                     notifydatasetchanged();                     log.i("check data insertion.......", "data inserted succesfully");                    } 

pls check why login not performed on button click..thanks

pls see log cat after modifying

07-01 12:17:32.911: error/androidruntime(600): uncaught handler: thread main exiting due uncaught exception 07-01 12:17:32.940: error/androidruntime(600): android.database.sqlite.sqliteexception: no such column: pass: , while compiling: select * user user_name='first names'and pass='last names'  07-01 12:17:32.940: error/androidruntime(600):     @ android.database.sqlite.sqliteprogram.native_compile(native method)  07-01 12:17:32.940: error/androidruntime(600):     @ android.database.sqlite.sqliteprogram.compile(sqliteprogram.java:110) 07-01 12:17:32.940: error/androidruntime(600):     @ android.database.sqlite.sqliteprogram.<init>(sqliteprogram.java:59) 07-01 12:17:32.940: error/androidruntime(600):     @ android.database.sqlite.sqlitequery.<init>(sqlitequery.java:49) 07-01 12:17:32.940: error/androidruntime(600):     @ android.database.sqlite.sqlitedirectcursordriver.query(sqlitedirectcursordriver.java:49)  07-01 12:17:32.940: error/androidruntime(600):     @ android.database.sqlite.sqlitedatabase.rawquerywithfactory(sqlitedatabase.java:1220)  07-01 12:17:32.940: error/androidruntime(600):     @ android.database.sqlite.sqlitedatabase.rawquery(sqlitedatabase.java:1193)  07-01 12:17:32.940: error/androidruntime(600):     @ com.linkwithweb.providers.mycontentprovider$databasehelper.validateuser(mycontentprovider.java:45)  07-01 12:17:32.940: error/androidruntime(600):     @ loginapp.page.loginpage$1.onclick(loginpage.java:29)  07-01 12:17:32.940: error/androidruntime(600):     @ android.view.view.performclick(view.java:2364)  07-01 12:17:32.940: error/androidruntime(600):     @ android.view.view.ontouchevent(view.java:4179)  07-01 12:17:32.940: error/androidruntime(600):     @ android.widget.textview.ontouchevent(textview.java:6540)   07-01 12:17:32.940: error/androidruntime(600):     @ android.view.view.dispatchtouchevent(view.java:3709)  07-01 12:17:32.940: error/androidruntime(600):     @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:884)  07-01 12:17:32.940: error/androidruntime(600):     @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:884)  07-01 12:17:32.940: error/androidruntime(600):     @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:884)  07-01 12:17:32.940: error/androidruntime(600):     @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:884)  07-01 12:17:32.940: error/androidruntime(600):     @ com.android.internal.policy.impl.phonewindow$decorview.superdispatchtouchevent(phonewindow.java:1659)  07-01 12:17:32.940: error/androidruntime(600):     @ com.android.internal.policy.impl.phonewindow.superdispatchtouchevent(phonewindow.java:1107) 07-01 12:17:32.940: error/androidruntime(600):     @ android.app.activity.dispatchtouchevent(activity.java:2061) 07-01 12:17:32.940: error/androidruntime(600):     @ com.android.internal.policy.impl.phonewindow$decorview.dispatchtouchevent(phonewindow.java:1643) 07-01 12:17:32.940: error/androidruntime(600):     @ android.view.viewroot.handlemessage(viewroot.java:1691) 07-01 12:17:32.940: error/androidruntime(600):     @ android.os.handler.dispatchmessage(handler.java:99) 07-01 12:17:32.940: error/androidruntime(600):     @ android.os.looper.loop(looper.java:123) 07-01 12:17:32.940: error/androidruntime(600):     @ android.app.activitythread.main(activitythread.java:4363) 

in loginpage activity called dbhelper.validateuser(name,password).but didn't worked dbhelper.

write

dbhelper=new databasehelper(this);  

before calling dbhelper.validateuser();

when created table defined column password.that column name password.but when made query quering like

"select * " + table_name + " "                             + myusers.user.user_name + "='" + username +"'and "+myusers.user.pass+ 

the value of myusers.user.pass pass.not password.so had problem.please correct column name.hopefully done


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -