簡體   English   中英

在Android SQLite數據庫中運行查詢

[英]Run query in android SQLite database

我在android studio中有一個數據庫,該數據庫的表名為EMP_TABLE,列為E_NAME,E_AGE和E_DEPT。 我的片段布局有兩個editText字段,一個按鈕和一個TextView字段。 我想對該數據庫執行查詢,以便當我在第一個edittext字段中輸入E_NAME屬性,在第二個edittext字段中輸入E_AGE屬性並按下按鈕時,E_AGE字段的相應屬性出現在textView字段中。 該查詢看起來像是從EMP_TABLE的SELECT E_AGE,其中E_NAME = a1和E_DEPT = a2。 我對光標和查詢不是很熟悉,請幫我。 到目前為止,這是我在OnClick方法中所做的。 任何幫助將不勝感激。

actTextView1 = (AutoCompleteTextView) view.findViewById(R.id.acTextView1);
        actTextView2 = (AutoCompleteTextView) view.findViewById(R.id.acTextView2);


        result = (TextView) view.findViewById(R.id.resultField);

        calculateButton = (Button) view.findViewById(R.id.calBtn);

        calculateButton.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {

                DatabaseHelper myDBhelper = new DatabaseHelper(getActivity());

                String a1 = actTextView1.getText().toString();
                String a2 = actTextView2.getText().toString();

                c = myDBhelper.query("EMP_TABLE", null, null, null, null, null, null);

                if (c.moveToFirst()) {
                    do {
                        Toast.makeText(getActivity(), "Age is: " + c.getString(0), Toast.LENGTH_LONG).show();

                    } while (c.moveToNext());
                }

要插入:

public void insertIntoTable(String E_NAME_VALUE, String E_AGE_VALUE,String E_DEPT_VALUE) {
            SQLiteDatabase db = this.getWritableDatabase();

                ContentValues cv = new ContentValues();
                cv.put(E_NAME, E_NAME_VALUE);
                cv.put(E_AGE, E_AGE_VALUE);
                cv.put(E_DEPT, E_DEPT_VALUE);
                db.insert(EMP_TABLE , null, cv);
        }

要從數據庫中獲取存儲的值:

public String fetchValueFromTable(String E_NAME_VALUE,String E_DEPT_VALUE) {
String E_AGE_VALUE="" ;   
SQLiteDatabase db = this.getWritableDatabase();
 SELECT E_AGE FROM EMP_TABLE WHERE E_NAME=a1 AND E_DEPT=a2
        String query = "SELECT * FROM " + EMP_TABLE + " WHERE " + E_NAME+ "='" + E_NAME_VALUE+ "' ANd "+ E_DEPT+ "='" + E_DEPT_VALUE;
        Cursor cursor = db.rawQuery(query, null);
 if (cursor.moveToFirst()) {
    E_AGE_VALUE=cursor.getString(cursor.getColumnIndex(E_AGE));
    }
     return E_AGE_VALUE;
    }

暫無
暫無

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

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