簡體   English   中英

從 SQL Lite 數據庫檢索數據到 EditText

[英]Retrieve data into EditText from SQL Lite Database

我目前正在開發一個小型應用程序,該應用程序允許將人員詳細信息存儲在數據庫中,然后檢索到 EditText 字段中。 目前我能夠將人名存儲到數據庫中。 但是我無法檢索這些數據。

任何人都可以提供的任何幫助將不勝感激!

謝謝!

數據庫助手.java:

 package my.example.com.mymedicare;

 import android.content.Context;
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteOpenHelper;

 public class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseHelper(Context context) {
    super(context, "user.db", null, 4);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE Users (ID INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL , FullName VARCHAR, Email VARCHAR, Number INTEGER, Age INTEGER, Nurse VARCHAR)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS Users");

    // Create tables again
    onCreate(db);

}
 }

SQLHelper.java:

 package my.example.com.mymedicare;

 import android.content.ContentValues;
 import android.content.Context;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;

 import java.io.File;
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;

 public class SQLHelper  {
Context mContext;
DatabaseHelper dbHelper;
public SQLHelper(Context mContext) {
    dbHelper = new DatabaseHelper(mContext);
    this.mContext = mContext;
}



public boolean insert(String FullName, int i){
    SQLiteDatabase db = dbHelper.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put("FullName", FullName);
        db.close();
        return true;
    }
    }

注冊.java:

package my.example.com.mymedicare;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class Register extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);
};


public void btnCreate(View view) {

    SQLHelper sqlHelper = new SQLHelper(this);

    EditText addName = (EditText) findViewById(R.id.nameText);
    sqlHelper.insert(addName.getText().toString(), 0);

    Toast.makeText(this, "Your Account Details Have Been Saved", Toast.LENGTH_SHORT).show();
    startActivity(new Intent(Register.this, MainMenu.class));
}}

修改.java:

 package my.example.com.mymedicare;

 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
 import android.widget.EditText;

 public class Modify extends AppCompatActivity {

static SQLiteDatabase db;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_modify);

    EditText getName=(EditText)findViewById(R.id.nameText);
 }
 }

按照此步驟操作。

將此方法放在 SQLHelper.java 文件中。

    public ArrayList<String> fetch_Edittext() {
    ArrayList<String> arr_ = new ArrayList<String>();
    String selectQuery = "Select * FROM " + TABLE_SCANITEMS + " ORDER BY id";

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

    if (cursor.moveToFirst()) {
        do {
            arr_.add(cursor.getString(0));

        } while (cursor.moveToNext());
    }
    db.close();
    return arr_;
}

把這個類放在你的修改java類中

private class GetEdittext extends AsyncTask<Void, Void, Void> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        // dialog start
        Log.e("Currency", "3");
    }

    @Override
    protected Void doInBackground(Void... arg0) {
        ArrayList<String> arr_ = new ArrayList<String>();
        arr_ = db.fetch_Edittext();
        return null;
    }

    @Override
    protected void onPostExecute(Void resul) {
        super.onPostExecute(resul);
        // dialog dismiss
        //hear set your edit text
    }
}

然后在創建方法上調用這個類。

new GetEdittext().execute();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM