Android Studio如何从sqlitedatabase检索数据并将其显示在另一个活动中

问题描述 投票:0回答:1

我已将学生注册详细信息插入sqlitedatabase,我想检索该信息并将其显示在edittext字段的第二个活动中,例如学生应编辑自己的个人资料,以便学生必须检索和修改详细信息该怎么做,请给我解决方案我坚持下去。我如何用Java编码


sqlite database

public class DatabaseStudent extends SQLiteOpenHelper {

    public static final String databasename="Student";

    public static final String Student_table="Student_table";

    public static final String Student_name="Name";
    public static final String Student_rollnumber="RollNumber";
    public static final String Student_College="College";
    public static final String Student_Branch="Branch";
    public static final String Student_Year="Year";
    public static final String Parent_name="ParentName";
    public static final String Parent_address="ParentAddress";
    public static final String Parent_Phone_number="Phone";
    public static final String Student_Email_ID="Email";
    public static final String Student_Password="Password";
    public static final int versioncode=1;

    public DatabaseStudent(Context context){
        super(
                context,
                databasename,
                null,
                versioncode);
    }

    @Override
    public void onCreate(SQLiteDatabase database) {
        String student_query;
        student_query="CREATE TABLE IF NOT EXISTS "+Student_table+"(Name TEXT,RollNumber NUMBER PRIMARY KEY,College TEXT,Branch TEXT,Year TEXT,ParentName TEXT,ParentAddress TEXT,Phone NUMBER, Email Text, Password TEXT)";
        database.execSQL(student_query);
    }

    @Override
    public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {

        String student_query;
        student_query= "DROP TABLE IF EXISTS " + Student_table;
        database.execSQL(student_query);


    }

    public boolean Student_Data(String name,String rollnumber,String college,String branch,String year,String parentname,String parentaddress,String phone,String email,String password){
        SQLiteDatabase db1=this.getWritableDatabase();
        ContentValues cv=new ContentValues();

        cv.put(Student_name,name);
        cv.put(Student_rollnumber,rollnumber);
        cv.put(Student_College,college);
        cv.put(Student_Branch,branch);
        cv.put(Student_Year,year);
        cv.put(Parent_name,parentname);
        cv.put(Parent_address,parentaddress);
        cv.put(Parent_Phone_number,phone);
        cv.put(Student_Email_ID,email);
        cv.put(Student_Password,password);

        long result=db1.insert(Student_table,null,cv);
        if(result==-1)
            return false;
        else
            return true;
    }

    public Cursor StudentData()
    {
        SQLiteDatabase db1=this.getWritableDatabase();
        Cursor res = db1.rawQuery("select * from "+Student_table,null);
        return res;
    }


    public Cursor searchStudent(String name) {
        SQLiteDatabase db2 = this.getWritableDatabase();
        Cursor res = db2.rawQuery("select * from "+Student_table+" Where name=?",new String[]{name});
        return res;
    }

    public Cursor DeleteStudent(String name) {
        SQLiteDatabase db2 = this.getWritableDatabase();
        Cursor res = db2.rawQuery("delete from "+Student_table+" Where name=?",new String[]{name});
        return res;
    }

 public boolean updatedetails(String name, int rollnumber, String college, String branch, String year, String parentname, String parentaddress, String phone, String email, String password)
{
    ContentValues args= new ContentValues();
    args.put(Student_name,name);
    args.put(Student_rollnumber,rollnumber);
    args.put(Student_College,college);
    args.put(Student_Branch,branch);
    args.put(Student_Year,year);
    args.put(Parent_name,parentname);
    args.put(Parent_address,parentaddress);
    args.put(Parent_Phone_number,phone);
    args.put(Student_Email_ID,email);
    args.put(Student_Password,password);

    SQLiteDatabase db2 = this.getWritableDatabase();
    int i = db2.update(Student_table,args,Student_rollnumber+ "=" + rollnumber,null);
    return i>0;
}

android android-edittext sql-update android-sqlite registration
1个回答
0
投票

非常简单,只需在接收活动中调用DatabaseStudent的功能

Cursor c= DatabaseStudent.searchStudent("student name");

if (c != null ) {
        if  (c.moveToFirst()) {
              do {
              String Name = c.getString(c.getColumnIndex("Name"));
              String RollNumber = c.getString(c.getColumnIndex("RollNumber"));
              test.add("" + dir );
              }while (c.moveToNext());
        }
   }

现在将Name设置为您的名称,rollnumber设置为edittext

© www.soinside.com 2019 - 2024. All rights reserved.