update failed.. eklenen kaydı düzenmelede hata..

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

update failed.. eklenen kaydı düzenmelede hata..

Mesaj gönderen berken »

merhaba arkadaslar..
sorunumu ifade edeyim..
db gridde aşağı tuşa basınca kayıt ekleme moduna geçiyor..
kullandığım query nın after insert ine
myquerytarih.asdate := cxdateedit.date; yazınca üstüste bir sürü kayıt ekliyor.. yani aşağıya bastıkça yeni kayıt..
bunda sorun yok..
ama yukarı çıkıp bu şekilde eklenen kayıtların herhangi bir alanını değiştirmeye çalışınca "update failed. 0 record found" veya "update failed. 20 record found". ordaki record sayısı değişiyor..
mysql ve access te denedim yine aynı hatalar..
veya bir dongu ile kayıt girdiğimde oluyor

for i := fislerq.RecordCount to 10 do begin
fislerq.Append;
fislerqtarih.AsDateTime := cxDateEdit1.Date;
fislerq.Post;
end;

..

bir fikri olan var mı ?
İnsanca.... Pek insanca....
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

for i := fislerq.RecordCount to 10 do begin
fislerq.Append;
fislerqtarih.AsDateTime := cxDateEdit1.Date;
fislerq.Post;
end;
hocam burda bir döngü kurmuşsunuz ancak döngü yanlış kurulmuş. RecordCount Toplam kayıt sayısını integer bir değer olarak dönderir.
burda toplam kayıt sayısı 10 un üzerinde ise sizin yukardaki döngü zaten çalışmayacaktır.

doğrusu

Kod: Tümünü seç

i := 0;
i := i + 1;
for i := 0 to 10 do 
  Begin
    fislerq.Append; 
    fislerqtarih.AsDateTime := cxDateEdit1.Date; 
    fislerq.Post; 
  end;
burda table ye 10 kayıt gerçekleşir.
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

onda sorun yok..
orada ne yaptığımı biliyorum ..
mesele dediğim gibi o şekil bir döngü ile ya da aşağı tuşa basılarak eklenen kayıtlarda bir değişiklik yapamamam..
İnsanca.... Pek insanca....
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
sanırım sıkınti primarykeylerde.
query ile insert yaptığın zaman primarykeylere doğru değer gidiyormu onu kontrol etmelisin.
querynin select sql inde (tabiki eğer yoksa) pkey ide select et ve o alanı gridde göster. Ne demek istediğimi anlayacaksın.

birde ufak not.
afterinsert yerine onnewrecord olayını kulanırsan(queryde varmı bilmiyorum ama ttable da vardı) gridde aşağı yukarı yapınca kayıt girmesini engelleyebilirsin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

aslangeri hocam teşekkür ederim..
ben primary key i kaldırmıştım..
tablo yapısından yanı..
çünkü gridde kullandığım tablo temp tablo. sürekli kayıt ekle çıkar olunca primarykey de autoinc olunca kaldırmıştım... sizin dediğiniz şekilde yaptım oldu.. teşekkur ederim tekrar.
İnsanca.... Pek insanca....
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

aslangeri hocam yine aynı sorun olmaya basladı..
id yi görüntülüyorum..
auto_inc.. değere müdahale edemiyorum.zaten . kendi arttırıyor..
bazen işlem yapıyorum sorun olmuyor..
gridde bir bir sürü kayıt girdikten sonra yukarı çıkıp onceki bir kaydı düzenledikten sonra o kayıttan çıkarken yani post olması gerekirken, o hatayı veriyor.. her zaman olmasa da çoğunlukla ..

ona ragmen .. "Satır güncelleştirme bulunamıyor. Son okuduğundan bu yana değerler değiştirilmiş olabilir."
anlayamadım gitti ya...
İnsanca.... Pek insanca....
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Eğer ADO bileşenleri kullanıyorsanız ve veri tabanınızda Trigger varsa (MSSQL de) bu hata aynen böyle gerçekleşmektedir. Trigger kodunuzun ilk satırına set nocount on kodu ile başlayıp son satırını da set nocount off ile bitirirseniz hata düzelecektir. Tabi hatanın kaynağı trigger ise. Kolay gelsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

trigger yok..
veritabanı access
İnsanca.... Pek insanca....
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
kardeş benim başıma gelen olay yeni kayıt girdiğimde program id yi bilmediği için update yapamıyordu.
yeni kayıtlarda ekranda gördüğün id yi vt ye yazıyor dimi.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

ilgin için teşekkur ederim Aslangeri.. diğer arkadaslara da tabi :)
Foto da karizma bu arada :) .. sadece temp kulllanıyordum..
access ten vazgectim. paradox a bakıyorum..
index ile işim yok..
ama acces te index li de de indexsiz de de hatalar var..
şimdilik paradox ta sorun yok görünüyor.. bakalım basımıza neler gelecek..
İnsanca.... Pek insanca....
Cevapla