yukarıdaki kodda ?????? satıra geldiğinde KAYITNO not found şeklinde hata veriyor. İlk sorguda KAYITNO değişkenini parametre ye ekliyor. fakat ikinci sorguda [Rap0_.Parameters.Clear] komutu olmasına rağmen hafızada kalıyor. bunu nasıl temizlerim?
Aynı hata. Burada ben parametre kullanmıyorum. Bu Query leri birçok formdan ortak kullanıyorum. Master detail kullanmadığım sürece problem yok. Master/detail bağlayıp (parametre değişkeni kendisi oluşturuyor) formu kapatmadan yukarıdaki kodu tekrar kullandığımda hata alıyorum.
s.a.
rap0 ın hemen ardından rap2 i close et.
anladığım kadarı ile rapX ler birbiri ile ilişkilendirilmiş.
birinde değişiklik yaptığınızı zaman ilişkili alanı bulamadım diye mesaj veriyor.
oyüzden ikisini aynı anda kapatın. değişiklikleri yapın. sırayla açın.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
tşk arkadaşlar
ama malesef aynı hata devam ediyor.
Çok basit bir çözümü olmalı Query yi kapattıktan bağlantıyı koparmalı ve alanları temizlemeli diye düşünüyorum
Geçmiş zamanda da forumda bildirmiştim ama sadece bir detay olduğundan aramalarda bulamamış olmanız normaldir. Eğer bir AdoQuery için AdoConnection atamasını yapmayı unutmuşsanız, garip bir şekilde tepki olarak parameter not found hatası alırsınız. Bunu bir kontrol edin ondan sonra sorununuza çözüm aramaya devam ediniz.
Ado kullanıyorum. ilk mesajıma bakarsan RAP0 ve ve RAP2 yi önce normal açıyor. yani connection olmasaydı 1. açılışta hata verirdi. hatayı ????? satırına geldiğinde yapıyor.
Hatayı kısaca açıklayayım;
Rap0 ve Rap2 arasında Master detail bağlantısı oluşturduktan sonra
komutları Rap0 ve Rap2 arasındaki master detail ilişkisini koparmıyor. aynı queryleri farklı bir master detail ilişkisi ile bağladığımda 1. bağlantıdaki değişken hafızada kalıyor ve Queryi açtığımda 1. bağlantının değişkeninin bulamadım (KAYITNO) hatası veriyor.
Yanlış anlama, mesajını okudum. Ayrıca hata bundandır diye netleştirip altını çizmedim bilakis sadece bunu da bir kontrol edin dedim.
Birinci defada çalışıyor olması benim için bişey ifade etmez. Çünkü herhangi bir zamanda AdoQuery'nin Connection'u da "Nil"'e döndürülmüş olabilir. Böylece ilk defada çalışıyor demek ile sonra da hep çalışırdı şekline dönen ifade bu durumda netliğini yitiriyor.
Rap0_.Close;
Rap0_.SQL.Clear;
Rap0_.SQL.Add('SELECT KAYITNO,ADI,SOYADI FROM CARI');
Rap0_.open;
Rap2_.Close;
Rap2_.SQL.Clear;
Rap2_.DataSource := R0Ds;
Rap2_.SQL.Add('SELECT CHNO,TARIH,ACIKLAMA,TUTAR FROM HAREKET');
Rap2_.SQL.Add('WHERE CHNO=:KAYITNO');
Rap2_.Open;
///////////
......
///////////
Rap0_.Parameters.Clear;
Rap0_.Close;
Rap0_.SQL.Clear;
Rap0_.SQL.Add('SELECT KNO,ACK1,ACK2 FROM DENEME');
Rap2_.Close;
Rap2_.SQL.Clear;
Rap2_.DataSource := R0Ds;
Rap2_.SQL.Add('SELECT * FROM HAREKET');
Rap2_.SQL.Add('WHERE CHNO=:KNO');
Rap2_.Open;
Rap0_.open; // <<< Rap2 yi açtıktan sonra Rap0 ı açıyorum ama ilk önce rap2 açıldığı için master detail çalışmıyor.
Rap2_.close; rap2_.open; // gibi bir tuhaflıktan sonra hatasız çalışmaya başadı...