Firebase firestore veri sorgulama

Calimero

Hectopat
Katılım
19 Aralık 2020
Mesajlar
120
Daha fazla  
Cinsiyet
Erkek
T.C. Kimlik numarası ile kitap ekleme uygulaması yaptım. Fakat aynı T.C. İle istediği kadar kitap yükleyebiliyor. Bunu sınırlandırmak için T.C. Kimlik başına bir tane kitap alabilecek, bunun için de girilen T.C. Kimliğin veritabanında olup olmadığını sorgulamam gerek. ChatGPT'e sordum ve bana verdiği kodu denedim fakat şu an da database de veri olmamasına rağmen T.C. Kimlik ile veri varmış gibi gösteriyor bunu nasıl düzeltebilirim?
ChatGPT'nin Yazdığı Kod:

Java:
db.collection("koleksiyonAdi")
  .whereEqualTo("alanAdi", "arananDeger")
  .get()
  .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
      @Override
      public void onComplete(@NonNull Task<QuerySnapshot> task) {
          if (task.isSuccessful()) {
              for (QueryDocumentSnapshot document : task.getResult()) {
                  Log.d(TAG, document.getId() + " => " + document.getData());
              }
          } else {
              Log.d(TAG, "Hata alındı: ", task.getException());
          }
      }
  });

Benim Üstüne Eklediğim Kod:

Java:
FirebaseFirestore.getInstance().collection("Kitaplar").whereEqualTo("kTc", binding.KitapTcTxt.getText().toString()).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                if (task.isSuccessful()){
                    Toast.makeText(MainActivity2.this, "TC Kimlik Başına Sadece Bir Kitap Alabilirsiniz!", Toast.LENGTH_SHORT).show();
                }
                else{
                    if (binding.KitapAdTxt.getText().toString()!=null&&binding.KitapAlanTxt.getText().toString()!=null&&binding.KitapTcTxt.getText().toString()!=null){
                        FirebaseFirestore.getInstance().collection("Kitaplar").add(hashMap).addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                            @Override
                            public void onSuccess(DocumentReference documentReference) {
                                Toast.makeText(MainActivity2.this, "Kitabınız Veritabanımıza Başarıyla Eklenmiştir!", Toast.LENGTH_SHORT).show();
                                FirebaseFirestore.getInstance().collection("Kitaplar").get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                                    @Override
                                    public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
                                        String data = "";
                                        for(QueryDocumentSnapshot documentSnapshot : queryDocumentSnapshots){
                                            Kitap kitap = documentSnapshot.toObject(Kitap.class);
                                            kitap.setkId(documentSnapshot.getId());

                                            String kId = kitap.getkId();
                                            String kAd = kitap.getkAd();
                                            String kSahip = kitap.getkSahip();

                                            data += "Kitabın Ad: "+ kAd + " Kitabın Sahibi: " + kSahip;
                                        }
                                        binding.textView4.setText(data + "\n");
                                        //Log.d( "Test" , data);
                                    }
                                });
                            }
                        }).addOnFailureListener(new OnFailureListener() {
                            @Override
                            public void onFailure(@NonNull Exception e) {
                                Toast.makeText(MainActivity2.this, "Kitabınızı Veritabanına Eklerken Sorun Oluştu!", Toast.LENGTH_SHORT).show();
                            }
                        });
                    }
                    else{
                        Toast.makeText(MainActivity2.this, "Kitap Adı , Kişi Adı ve TC Kimlik Boşluklarını Doldurunuz.", Toast.LENGTH_SHORT).show();
                    }
                }
            }
        });
 
Son düzenleme:

Technopat Haberler

Yeni konular

Geri
Yukarı