I am using searchPass() method which is defined in my code below, to check username and password and I think that error is in this searchPass() method only. When I ran my project in debug mode, I found that error is in line "Cursor cursor = db.rawQuery(query, null);". Please help me to debug this code.
This is my DatabaseHelper class:
package com.example.admin.loginregistraionusingsqlite;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "contacts.db";
private static final String TABLE_NAME = "contacts";
private static final String COLUMN_ID = "id";
private static final String COLUMN_NAME = "name";
private static final String COLUMN_EMAIL = "email";
private static final String COLUMN_UNAME = "uname";
private static final String COLUMN_PASSWORD = "password";
SQLiteDatabase db;
private static final String TABLE_CREATE = "create table contacts(id integer primary key,name text,email text,uname text,password text)";
public DatabaseHelper(Context context)
{
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(TABLE_CREATE);
this.db = db;
}
public void insertContact(Contact c)
{
db = this.getWritableDatabase();
ContentValues values = new ContentValues();
String query = "select * from contacts";
Cursor cursor = db.rawQuery(query, null);
int count = cursor.getCount();
values.put(COLUMN_ID, count);
values.put(COLUMN_NAME, c.getName());
values.put(COLUMN_EMAIL, c.getEmail());
values.put(COLUMN_UNAME, c.getUname());
values.put(COLUMN_PASSWORD, c.getPassword());
db.insert(TABLE_NAME, null, values);
//cursor.close();
db.close();
}
public String searchPass(String uname)
{
db = this.getReadableDatabase();
String query = "select uname, password from"+TABLE_NAME;
Cursor cursor = db.rawQuery(query, null);
String a, b; // a for username and b for password
b = "not found";
if(cursor.moveToFirst())
{
do {
a = cursor.getString(0);
if(a.equals(uname))
{
b = cursor.getString(1);
break;
}
}
while(cursor.moveToNext());
}
return b;
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String query = "DROP TABLE IF EXISTS" + TABLE_NAME;
db.execSQL(query);
this.onCreate(db);
}
}
Aucun commentaire:
Enregistrer un commentaire