Bug
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Bug
Slm,
Arkadaşlar dün yazmış olduğum programın bitmiş olan bölümleri için test yapıyordum bir bug yakaladım.
olay: ekleme değiştirme ve listeleme için üç form kullanıyorum ekleme ve değiştirme formları database bağlantısını listeleme formundan AdoDataSet aracılığı ile yapıyor. Programım bug yapma yeri yeni veri eklemek için ekleme formunu çağırıyorum ekleme işlemlerini yaptırtıyorum ve işlemim bittikden sonra kayıtları veri tabanına yazdırıyorum burada bir problem çıkmıyor yalnız yeni eklediğim kaydı düzenlemek için açıp değiştirmek istediğim de hata alıyorum. Ben bu olayı ekleme formunda AdoDataSet i kapatıp tekrar açmak la çözdüm fakat başka bir yolla çözülebilirmi.
Beni bu konuda bilgilendirirseniz sevinirim.
İyi çalışmalar.
Arkadaşlar dün yazmış olduğum programın bitmiş olan bölümleri için test yapıyordum bir bug yakaladım.
olay: ekleme değiştirme ve listeleme için üç form kullanıyorum ekleme ve değiştirme formları database bağlantısını listeleme formundan AdoDataSet aracılığı ile yapıyor. Programım bug yapma yeri yeni veri eklemek için ekleme formunu çağırıyorum ekleme işlemlerini yaptırtıyorum ve işlemim bittikden sonra kayıtları veri tabanına yazdırıyorum burada bir problem çıkmıyor yalnız yeni eklediğim kaydı düzenlemek için açıp değiştirmek istediğim de hata alıyorum. Ben bu olayı ekleme formunda AdoDataSet i kapatıp tekrar açmak la çözdüm fakat başka bir yolla çözülebilirmi.
Beni bu konuda bilgilendirirseniz sevinirim.
İyi çalışmalar.
En son husonet tarafından 24 Eyl 2003 01:46 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
- mehmet_turecan_cakmak
- Üye
- Mesajlar: 132
- Kayıt: 02 Tem 2003 01:08
- Konum: Afyon
- İletişim:
adodataset
selam...
hocam aynı hata benimde başıma gelmişti programı kapatıp açınca hatayı gideriyordum mustafa hocam bu konu ile ilgili bir kod göndermişti ama o kodu kaybettim ama adodataseti update etmek ile ilgili birşeydi galiba...inşallah yardımcı oabilirim...
iyi çalışmalar...
hocam aynı hata benimde başıma gelmişti programı kapatıp açınca hatayı gideriyordum mustafa hocam bu konu ile ilgili bir kod göndermişti ama o kodu kaybettim ama adodataseti update etmek ile ilgili birşeydi galiba...inşallah yardımcı oabilirim...
iyi çalışmalar...
hata mesajı : Project HUSOCHIP.EXE raised exception class EOleException with message 'Satır güncelleştirme için bulunamıyor. Son okunduğundan bu yana bazı değerler değiştirilmiş olabilir'. Process stopped. Use Step or Run to continue.
İyi Akşamlar.
web: http://www.durmus.net
İyi Akşamlar.
web: http://www.durmus.net
- mehmet_turecan_cakmak
- Üye
- Mesajlar: 132
- Kayıt: 02 Tem 2003 01:08
- Konum: Afyon
- İletişim:
adodataset
günaydın...
hocam bu sorunu bende halen çözebilmiş değilim demiştim ya aynı sorunu bende yaşadım diye ama aklıma şöyle bişey geldi bir işlem yapmadan önce mesela silme kaydetme vb. adodataseti güncelle tabi bu güncelle yani refresh et buna istinaden benima klıma şöyle bi kod geldi
adodataset1.update:=true;
tabi bu kod çalışırmı bilmiyorum çünkü daha bende denemedim eger siz denerseniz banada bi haber verin
çünkü şu sıralar bilgisyara hasret kaldım...
iyi çalışmalar...
hocam bu sorunu bende halen çözebilmiş değilim demiştim ya aynı sorunu bende yaşadım diye ama aklıma şöyle bişey geldi bir işlem yapmadan önce mesela silme kaydetme vb. adodataseti güncelle tabi bu güncelle yani refresh et buna istinaden benima klıma şöyle bi kod geldi
adodataset1.update:=true;
tabi bu kod çalışırmı bilmiyorum çünkü daha bende denemedim eger siz denerseniz banada bi haber verin

iyi çalışmalar...
Ado'nun çalışma mantığını biraz anlatıyım hocam;
Sen bir update veya delete işlemi yaptığın zaman, ADO arka planda bir SQL cümlesi oluşturur ve bunu veritabanına gönderir. Mesela no, ad, soyad diye 3 alanı olan bir tablon olsun ve
1, Mustafa, Şimşek
silmek istiyorsun. ADO bunu arka planda
DELETE FROM FALANCA_TABLO
WHERE (NO=1) AND
(AD='Mustafa') AND
(SOYAD='Şimşek')
şekline dönüştürür. Sen bu arada eğer herhangi bir nedenle bu alanlardan birini değiştirirsen, kayıt bulunamaz.
Bir ara bende de oluyordu bu hata. Ben KULLANICI tablosuna kullanıcının son girdiği tarihi ve saati yazdırıyordum, kayıtta SON_GIRIS_TARIHI alanı kullanıcı giriş yapınca değiştiği için sorun çıkıyordu.
Benim önceki mesajımda gönderdiğim kod, tüm alanlar yerine sadece primary key'i baz alıyor. Yani WHERE satırı kısmına tüm alanlar yerine sadece Primary Key'leri koyuyor. Mesela yukardaki örnek tabloda primary key NO ise oluşan SQL cümlesi :
DELETE FROM FALANCA_TABLO
WHERE (NO=1)
şeklinde olacak.
Çözüm önerileri :
* Primary key yoksa, primary key ekleyin.
* Hangi alanlarda update (güncelleme) yapıyorsunuz onlara bir bakın, gerekirse düzeltme yapın o kısımlarda.
Kolay gelsin.
Sen bir update veya delete işlemi yaptığın zaman, ADO arka planda bir SQL cümlesi oluşturur ve bunu veritabanına gönderir. Mesela no, ad, soyad diye 3 alanı olan bir tablon olsun ve
1, Mustafa, Şimşek
silmek istiyorsun. ADO bunu arka planda
DELETE FROM FALANCA_TABLO
WHERE (NO=1) AND
(AD='Mustafa') AND
(SOYAD='Şimşek')
şekline dönüştürür. Sen bu arada eğer herhangi bir nedenle bu alanlardan birini değiştirirsen, kayıt bulunamaz.
Bir ara bende de oluyordu bu hata. Ben KULLANICI tablosuna kullanıcının son girdiği tarihi ve saati yazdırıyordum, kayıtta SON_GIRIS_TARIHI alanı kullanıcı giriş yapınca değiştiği için sorun çıkıyordu.
Benim önceki mesajımda gönderdiğim kod, tüm alanlar yerine sadece primary key'i baz alıyor. Yani WHERE satırı kısmına tüm alanlar yerine sadece Primary Key'leri koyuyor. Mesela yukardaki örnek tabloda primary key NO ise oluşan SQL cümlesi :
DELETE FROM FALANCA_TABLO
WHERE (NO=1)
şeklinde olacak.
Çözüm önerileri :
* Primary key yoksa, primary key ekleyin.
* Hangi alanlarda update (güncelleme) yapıyorsunuz onlara bir bakın, gerekirse düzeltme yapın o kısımlarda.
Kolay gelsin.
- mehmet_turecan_cakmak
- Üye
- Mesajlar: 132
- Kayıt: 02 Tem 2003 01:08
- Konum: Afyon
- İletişim:
adodataset
selamlar...
hocam kusuruma bakmayın ama primary key nasıl ekleniyor birde husonetin dediği gibi dataseti kapatıp açmak problemi çözüyor bişey daha o kafamdan uydurduğum ve benim denemediğim kod işe yararmı...
iyi çalışmalar...
hocam kusuruma bakmayın ama primary key nasıl ekleniyor birde husonetin dediği gibi dataseti kapatıp açmak problemi çözüyor bişey daha o kafamdan uydurduğum ve benim denemediğim kod işe yararmı...
iyi çalışmalar...
Merhaba,
hocam veritabanına göre değişiyor primary index olayı. Türkçe karşılığı evet birincil index olarak geçiyor. Ancak Access'te nasıl ekleniyor dersen bilmiyorum.
Dataset'i kapatıp açmak uygun bir yöntem değil. Kayıt sayısı azken belki problem olmayabilir, ancak kayıt sayısı artmaya başlayınca aşırı yavaşlar program.
Mehmet hocam : Ado'da Refresh olayları biraz kıl diye aklımda kalmış. Mümkün olduğu kadar kaçınmak lazım.
Hocam mantığı anlattım, bu mantığa ters düşen kısımları tespite çalışın. + daha önce linkini verdiğim mesajdaki kodu da kullanarak çözersiniz sanırım.
Kolay gelsin.
hocam veritabanına göre değişiyor primary index olayı. Türkçe karşılığı evet birincil index olarak geçiyor. Ancak Access'te nasıl ekleniyor dersen bilmiyorum.
Dataset'i kapatıp açmak uygun bir yöntem değil. Kayıt sayısı azken belki problem olmayabilir, ancak kayıt sayısı artmaya başlayınca aşırı yavaşlar program.
Mehmet hocam : Ado'da Refresh olayları biraz kıl diye aklımda kalmış. Mümkün olduğu kadar kaçınmak lazım.
Hocam mantığı anlattım, bu mantığa ters düşen kısımları tespite çalışın. + daha önce linkini verdiğim mesajdaki kodu da kullanarak çözersiniz sanırım.
Kolay gelsin.
- mehmet_turecan_cakmak
- Üye
- Mesajlar: 132
- Kayıt: 02 Tem 2003 01:08
- Konum: Afyon
- İletişim:
dataset
selamlar...
hocam daha önceki bir mesajımda da dediğim gibi o kodu yazdığımda programı çalıştırırken hata veriyor...
iyi çalışmalar...
hocam daha önceki bir mesajımda da dediğim gibi o kodu yazdığımda programı çalıştırırken hata veriyor...
iyi çalışmalar...
Mustafa Hocam ben uses bölümüne ekledim ADOint'ti galiba benim projemde düzelme olmadı bu akşam biraz daha uğraşacağım.
hata mesajı : Project HUSOCHIP.EXE raised exception class EOleException with message 'Satır güncelleştirme için bulunamıyor. Son okunduğundan bu yana bazı değerler değiştirilmiş olabilir'. Process stopped. Use Step or Run to continue.
hata mesajı : Project HUSOCHIP.EXE raised exception class EOleException with message 'Satır güncelleştirme için bulunamıyor. Son okunduğundan bu yana bazı değerler değiştirilmiş olabilir'. Process stopped. Use Step or Run to continue.
Arkadaşlar bu olayı çözdüm Mustafa Hocamızın dediği gibi birincil anahtar tanımlamak gerekiyormuş bende birincil anahtar tanıttım bunun için alanıda saat alanı olarak seçtim. Aynı saniye ve saliseyi yakalamak mümkün olmadığını düşündüm problemim çözüldü form da yorum yapan ve fikir veren arkadaşlarıma ve özellikle Mustafa Hocamıza çok teşekkür ederim.
İyi Geceler.
İyi Geceler.