3 Stimmen

Holen Sie die Daten der ersten Zeile, wenn sie in SQLite existieren.

Ich schreibe eine App, in der ich die Daten der ersten Zeile aus der SQLite-Datenbanktabelle abrufen muss. Ich habe den Code geschrieben, um Daten in die Datenbank zu speichern, aber jetzt möchte ich die Daten der ersten Zeile aus der Datenbank in TextViews abrufen.

HelperClass:-

    // Daten auswählen
    public String[] SelectData(String strOperatorID) {
        //TODO-generierte Methode
         try {
            String arrData[] = null;    

             SQLiteDatabase db;
             db = this.getReadableDatabase(); // Daten lesen

             Cursor cursor = db.query(TABLE_NAME, new String[] { "*" }, 
                        "OperatorID=?",
                        new String[] { String.valueOf(strOperatorID) }, null, null, null, null);

                if(cursor != null)
                {
                    if (cursor.moveToFirst()) {
                        arrData = new String[cursor.getColumnCount()];

                        arrData[0] = cursor.getString(0); // DeviceID
                        arrData[1] = cursor.getString(1); // EmailID
                        arrData[2] = cursor.getString(2); // Event
                        arrData[3] = cursor.getString(3); // Operator
                        arrData[4] = cursor.getString(4); // EventOperator
                    }
                }

                cursor.close();
                db.close();
                return arrData;

         } catch (Exception e) {
            return null;
         }
    }   

Wie Sie sehen können, habe ich den Code geschrieben, um Daten auf der Grundlage von OperatorID=? abzurufen, aber jetzt muss ich einfach die Daten der ersten Zeile in Textviews abrufen.

Lassen Sie mich also wissen, welche Änderungen ich in meinem obigen Code vornehmen muss, um die Daten der ersten Zeile abzurufen, wenn sie existieren, andernfalls soll kein Toast angezeigt werden.

LoginActivity.java:

               // Daten speichern
         long saveStatus = myDb.InsertData(
            txtDeviceID.getText().toString(),
            txtEmailID.getText().toString(),
            txtEvent.getText().toString(),
            txtOperative.getText().toString(),
            txtEventOperator.getText().toString()
        );

Mit dem obigen Code speichere ich Daten in der Datenbank, und genauso möchte ich Daten aus der Datenbank abrufen und anzeigen, wenn der Benutzer LoginActivity.java aufruft, egal ob er die App ordnungsgemäß geschlossen hat...

Aktualisiert:-

public class LoginActivity extends Activity  {
    .................

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        setContentView(R.layout.activity_login);

        btnLogout = (Button) findViewById(R.id.btnLogout);
        btnCamera = (Button) findViewById(R.id.btnCamera);
        btnGallery = (Button) findViewById(R.id.btnGallery);

            txtDeviceID = (TextView) findViewById(R.id.txtDeviceID);
            txtEmailID = (TextView) findViewById(R.id.txtEmailID);      
            txtEvent = (TextView) findViewById(R.id.txtEvent);  
            txtOperative = (TextView) findViewById(R.id.txtOperative);
            txtEventOperator = (TextView) findViewById(R.id.txtEventOperator);

             Intent intent = getIntent();
             deviceID = intent.getStringExtra("deviceID");
             emailID = intent.getStringExtra("emailID");
             event = intent.getStringExtra("name"); 
             operative = intent.getStringExtra("firstName");

             txtDeviceID.setText(deviceID);
             txtEmailID.setText(emailID);
             txtEvent.setText(event);
             txtOperative.setText(operative);
             txtEventOperator.setText(event + "  " + operative);

             strEvent = txtEvent.getText().toString();
             strOperative = txtOperative.getText().toString();

                // Dialog
                final AlertDialog.Builder adb = new AlertDialog.Builder(this);
                AlertDialog ad = adb.create();

                // neue Klasse DB
                final myDBClass myDb = new myDBClass(this);

                // Daten speichern
                long saveStatus = myDb.InsertData(
                            txtDeviceID.getText().toString(),
                            txtEmailID.getText().toString(),
                            txtEvent.getText().toString(),
                            txtOperative.getText().toString(),
                            txtEventOperator.getText().toString()
                            );

                if(saveStatus <=  0)
                {
                  ad.setMessage("Fehler!! ");
                  ad.show();
                  return;
                }   

                // Daten anzeigen
                String arrData[] = myDb.SelectData();
                if(arrData != null)
                {
                    txtDeviceID.setText(arrData[1]);
                    txtEmailID.setText(arrData[2]);
                    txtEvent.setText(arrData[3]);
                    txtOperative.setText(arrData[4]);
                    txtEventOperator.setText(arrData[5]);
                }  

 if(txtEvent.getText().toString().equals("") && txtOperative.getText().toString().equals(""))
                {
                    Intent intentCall = new Intent(LoginActivity.this, LicenseListActivity.class);
                    startActivity(intentCall);
                }
          }

9voto

Kapil Vats Punkte 5435

Do this

Cursor cursor = db.query(TABLE_NAME, new String[] { "*" }, 
                    null,
                    null, null, null, null, null);

            if(cursor != null)
            {
                if (cursor.moveToFirst()) {
                    arrData = new String[cursor.getColumnCount()];

                    arrData[0] = cursor.getString(0); // DeviceID
                    arrData[1] = cursor.getString(1); // EmailID
                    arrData[2] = cursor.getString(2); // Event
                    arrData[3] = cursor.getString(3); // Operator
                    arrData[4] = cursor.getString(4); // EventOperator
                }
                cursor.close();
            }

            db.close();
            return arrData;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X