cxgrid sacmalamaya basladi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
cxgrid sacmalamaya basladi
selamu aleyküm
cxgrid kullaniyorum. firebird veritabani ile... IBDataSet ile baglantisini yaptim. Bütün firmalari listeliyor. üzerine cift tikladigimda yeni bir pencere aciyorum ve firmalarin isimlerini vesaire degistirebiliyorum. fakat post olayindan sonra 3 adet firma nin ismi bir anda birinci firmanin ismi olarak degisiyor. 3 firmanin adi da ayni. next olayi calismiyor gibi... baska bir projede ayni bilesenler ile ayni veritabanina baglanarak yine ayni islemi gerceklestiriyorum calisiyor. grid i bilesenleri silip diger projeden kopyalayip yapistirdim sonuc yine ayni... üc firmanin adi da ayni...
bilesenin onpost olayinda transaction.commitretaining var...
sorun neyden kaynaklaniyor olabilir?
simdiden tesekkür ediyorum...
selam ve dua ile...
cxgrid kullaniyorum. firebird veritabani ile... IBDataSet ile baglantisini yaptim. Bütün firmalari listeliyor. üzerine cift tikladigimda yeni bir pencere aciyorum ve firmalarin isimlerini vesaire degistirebiliyorum. fakat post olayindan sonra 3 adet firma nin ismi bir anda birinci firmanin ismi olarak degisiyor. 3 firmanin adi da ayni. next olayi calismiyor gibi... baska bir projede ayni bilesenler ile ayni veritabanina baglanarak yine ayni islemi gerceklestiriyorum calisiyor. grid i bilesenleri silip diger projeden kopyalayip yapistirdim sonuc yine ayni... üc firmanin adi da ayni...
bilesenin onpost olayinda transaction.commitretaining var...
sorun neyden kaynaklaniyor olabilir?
simdiden tesekkür ediyorum...
selam ve dua ile...
kıdemsiz üye
hocam selamu aleyküm
anaform düsünelim icerisinde bir adet cxgrid var büyükce.
bu cxgrid icinde firmalar listeleniyor. bu firmalar üzerinde istenilen zaman da degisiklikler yapilabilinmeli. bunun icin ondblclick özelligine bir adet kücük form koydum. ondblclick te kücük form aciliyor. icerisinde dbedit ler var. hemen tikladigim firmanin özellikleri bu dbedit ler icerisinde görülüyor. ben degisiklikler yaptiktan sonra kücük form icine koydugum bir buton vasitasi ile query.edit; query.post; diyorum. query nin afterpost unda transaction.commitretaining yazdim. bu sekilde direk veritabanina yansiyor islem. chacedupdate özelligi false...
fakat post ettikten sonra 3 adet listelenen farkli isimlerdeki firmalarin isimleri aniden degisiyor ve ücü de birinci firmanin adini aliyor... ama veritabaninda hersey normal. üc firma üc ayri isim...
umarim anlatabilmisim dir...
saygilar...
anaform düsünelim icerisinde bir adet cxgrid var büyükce.
bu cxgrid icinde firmalar listeleniyor. bu firmalar üzerinde istenilen zaman da degisiklikler yapilabilinmeli. bunun icin ondblclick özelligine bir adet kücük form koydum. ondblclick te kücük form aciliyor. icerisinde dbedit ler var. hemen tikladigim firmanin özellikleri bu dbedit ler icerisinde görülüyor. ben degisiklikler yaptiktan sonra kücük form icine koydugum bir buton vasitasi ile query.edit; query.post; diyorum. query nin afterpost unda transaction.commitretaining yazdim. bu sekilde direk veritabanina yansiyor islem. chacedupdate özelligi false...
fakat post ettikten sonra 3 adet listelenen farkli isimlerdeki firmalarin isimleri aniden degisiyor ve ücü de birinci firmanin adini aliyor... ama veritabaninda hersey normal. üc firma üc ayri isim...
umarim anlatabilmisim dir...
saygilar...
kıdemsiz üye
küçük formun açıldığında, o anki firmanın ID si bellidir herhalde..
işte bu ID yi kullanarak bir query ye gibi yapabilirsin.
yok ben böyle yapmam diyorsan firmaların tutulduğu DataSet e
yok ben böylede yapmam diyorsan başka çözüm yollarıda bulunabilir
kolay gelsin..
işte bu ID yi kullanarak bir query ye
Kod: Tümünü seç
"Update Tablo Set FirmaAdiAlani = 'xxx Firması' where FirmaID = :ID"
yok ben böyle yapmam diyorsan firmaların tutulduğu DataSet e
Kod: Tümünü seç
if DataSet.Locate('FirmaID', ID, []) then
begin
DataSet.Edit;
DataSetFirmaAdi.Value := 'xxx Firması';
DataSet.Post;
end
else
Showmessage('Kayıt Bulunamadı !');

kolay gelsin..
hocam selamu aleyküm...
ben direk su sekilde yapiyorum.
cxgrid in üzerine cift tikladiginda yada select yaptiginda aktif kayit selected olan kayit oluyor. minik pencere aciliyor. select yaptigim firmanin tüm verileri cikiyor karsima... edit ve post ile verileri güncelliyorum. veritabanini kontrol ediyorum veriler hakikaten sectigim firma üzerinde güncellenmis... yani baska bir firmanin verileri güncellenmiyor. direk benim secmis oldugum güncelleniyor.
kisacasi sorun kayitta degil. sorun kayittan sonra query bilgilerini cxgrid e aktarirken next olayini yapmiyor. kayit sayisi kadar ( yani eger üc firma var ise ) üc defa 1 nolu firmanin adini yaziyor...
hatta anlasilir olsun diye acalim bu konuyu...
firma 1 ) aaa
firma 2 ) bbb
firma 3 ) ccc
kayittan önce bu sekilde listeleniyor ve post dedigim anda
firma 1) aaa
firma 2) aaa
firma 3) aaa
umarim anlatabilmisim dir derdimi...
ben direk su sekilde yapiyorum.
cxgrid in üzerine cift tikladiginda yada select yaptiginda aktif kayit selected olan kayit oluyor. minik pencere aciliyor. select yaptigim firmanin tüm verileri cikiyor karsima... edit ve post ile verileri güncelliyorum. veritabanini kontrol ediyorum veriler hakikaten sectigim firma üzerinde güncellenmis... yani baska bir firmanin verileri güncellenmiyor. direk benim secmis oldugum güncelleniyor.
kisacasi sorun kayitta degil. sorun kayittan sonra query bilgilerini cxgrid e aktarirken next olayini yapmiyor. kayit sayisi kadar ( yani eger üc firma var ise ) üc defa 1 nolu firmanin adini yaziyor...
hatta anlasilir olsun diye acalim bu konuyu...
firma 1 ) aaa
firma 2 ) bbb
firma 3 ) ccc
kayittan önce bu sekilde listeleniyor ve post dedigim anda
firma 1) aaa
firma 2) aaa
firma 3) aaa
umarim anlatabilmisim dir derdimi...

kıdemsiz üye
hocam dediginiz gibi bir dbgrid atip tekrar denedim. dbgrid de de sonuc ayni.
refreshsql i kontrol ettim gayet basit bir sql ile yazili.sorun buradan da kaynaklanmiyor. daha sonra diger proje ile yeniden karsilastirdim. tek fark, diger proje de IBEvent kullanip tabloda degisiklik oldugunda query i refresh ediyor. bunda ise IBEvent yok.
simdi kafami karistiran, IBEvent kullanmak zorunda olusum. eger mysql kullaniyor olsaydim o zaman ne yapacaktim...
refreshsql i kontrol ettim gayet basit bir sql ile yazili.
Kod: Tümünü seç
select * from tablo order by field asc
simdi kafami karistiran, IBEvent kullanmak zorunda olusum. eger mysql kullaniyor olsaydim o zaman ne yapacaktim...

kıdemsiz üye
select * from tablo where FirmaID= :FirmaIDikra yazdı:hocam dediginiz gibi bir dbgrid atip tekrar denedim. dbgrid de de sonuc ayni.
refreshsql i kontrol ettim gayet basit bir sql ile yazili.sorun buradan da kaynaklanmiyor. daha sonra diger proje ile yeniden karsilastirdim. tek fark, diger proje de IBEvent kullanip tabloda degisiklik oldugunda query i refresh ediyor. bunda ise IBEvent yok.Kod: Tümünü seç
select * from tablo order by field asc
simdi kafami karistiran, IBEvent kullanmak zorunda olusum. eger mysql kullaniyor olsaydim o zaman ne yapacaktim...
refreshsql i yukardaki gibi yapip deneyebilirmisiniz?
hocam cok tesekkür ederim aynen dedigin gibi yaptim ve sorun ortadan kalkti...bukentay yazdı:refreshsql i yukardaki gibi yapip deneyebilirmisiniz?Kod: Tümünü seç
select * from tablo where FirmaID= :FirmaID
Kod: Tümünü seç
select * from firma order by firmaid asc
cok tesekkür ediyorum...

selam ve dua ile...
kıdemsiz üye
bence esas sorun su arkadaşlar sorgunun anında yeniden güncellenmemisinden kaynaklanıyor...yani cxgrdi leveli sorgu sonucunu gösterirken kullandığı datasetten hemen kendini update etmiyor...ama normal db grid hemen update yapaıyor...bence sen bir de sunu dene istersen...post olayına güncelleme için yaptığın kodu tekrar yaz...eğer sonuc doğru olursa...update işleminide cxgrid de kendimizin yapması gerekmesidir....
Siz hayal edin...Biz yapalım TuannaSoft...
selamu aleyküm hocam...
bukentay hocamin dedigi gibi kodu su sekilde degistirdimve sorun cözüldü... ayni olayi daha öncesinde dbgrid ile de denemistim yine sonuc degismemisti. yani sorun grid den degil kodlardan kaynaklaniyormus.
bukentay hocamin dedigi gibi kodu su sekilde degistirdim
Kod: Tümünü seç
select * from tablo where FirmaID= :FirmaID
kıdemsiz üye