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:
Benim Üstüne Eklediğim Kod:
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: