Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在我的SQLite数据库[Android]中显示我的数据_Android_Sqlite_Android Sqlite - Fatal编程技术网

无法在我的SQLite数据库[Android]中显示我的数据

无法在我的SQLite数据库[Android]中显示我的数据,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我不知道出了什么问题,但当我单击“登录”时,不会显示值。这是我的profile.java代码 TextView vName = (TextView) findViewById(R.id.tvName); TextView vEmail = (TextView) findViewById(R.id.tvEmail); TextView vMobile = (TextView) findViewById(R.id.tvMobile); Contact contact

我不知道出了什么问题,但当我单击“登录”时,不会显示值。这是我的profile.java代码

    TextView vName = (TextView) findViewById(R.id.tvName);
    TextView vEmail = (TextView) findViewById(R.id.tvEmail);
    TextView vMobile = (TextView) findViewById(R.id.tvMobile);

    Contact contact = new Contact();
    vName.setText(contact.getName().toString());
    vEmail.setText(contact.getEmail().toString());
    vMobile.setText(contact.getMobile().toString());

    Button btnOut = (Button) findViewById(R.id.btnOut);
    btnOut.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent Outent = new Intent(Profile.this,MainActivity.class);
            startActivity(Outent);
            finish();
        }
    });
这是我的数据库,我试着在DatabaseHelper.java中创建一个方法,但仍然不起作用。我想从像你们这样的专业人士那里得到一些帮助。 DatabaseHelper.java

private static final String TABLE_CREATE = "create table contacts(id integer primary key not null ,"+
        "name text not null, email text not null, pass text not null, mobile text not null);";

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_PASS, c.getPass());
    values.put(COLUMN_MOBILE, c.getMobile());

    db.insert(TABLE_NAME,null,values);
    db.close();
}

public Cursor getAllData(){
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor res = db.rawQuery("select email,name,mobile from"+TABLE_NAME,null);
    return res;
}

public String searchPass(String email){
    db = this.getReadableDatabase();
    String query = "select email, pass from " + TABLE_NAME;
    Cursor cursor = db.rawQuery(query,null);
    String a, b;
    b = "not found";
    if(cursor.moveToFirst()){
        do{
            a = cursor.getString(0);

            if(a.equals(email)){
                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);
}
您没有在配置文件活动中调用getAllData

轮廓活动

数据库助手


希望它是准确和有用的。

数据库的部分在哪里?我尝试了代码,当我点击登录按钮时,这个错误会弹出。android.database.sqlite.SQLiteException:没有这样的列:emailcode 1:,编译时:选择email,name,mobile from contacts检查您的数据库,确保您的表有一个名为email的列我检查了我的数据库我的表有一个名为email的列。
 List<Contact> contacts = db.getAllData();          
        for (Contact cn : contacts) {
            String name = cn.getName();
            vName.setText(name);
            // follow by getEmail and getMobile
        }
 // Getting All Data
    public List<Contact> getAllData() {
        List<Contact> contactList = new ArrayList<Contact>();
        // Select All Query
        String selectQuery = "SELECT email,name,mobile from"+TABLE_NAME;

        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);

        // looping through all rows and adding to list
        if (cursor.moveToFirst()) {
            do {
                Contact contact = new Contact();
                contact.setName((cursor.getString(0));
                contact.setEmail(cursor.getString(1));
                contact.setMobile(cursor.getString(2));
                contactList.add(contact);
            } while (cursor.moveToNext());
        }

        return contactList;
    }