Kullanıcı

Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.
30 Temmuz 2010 09:41:08

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz

Sohbet Penceresi

Son 5 Notlar:

09 Temmuz 2010 15:09:00
merhaba arkadaÅŸlar ilk defa bi soru soracam
son olarak üzerinde çalıştığım bi proğramda sorun var
datadan belirli bi kritere göre arama yapıyor bunlardan çift olanları teke düşürüp gride nasıl yazdıra bilirim
örnek vererek anlatırsam daha sağlam olur sanırsam

datadan k
10 Temmuz 2010 03:07:46
GÜZEL SİTE SEVDİM ;D
14 Temmuz 2010 14:45:20
aloo nasılsınız...
15 Temmuz 2010 18:16:38
 maske msnden bi konuÅŸalım kanky.
17 Temmuz 2010 15:16:16
ınterbase procedure soruma cevap verecek sevgili bir kul yokmu arkadaşlar ?

Show 50 latest

Gönderen Konu: firebird yaptığım deÄŸiÅŸiklikleri delphi de göremiyorum..:(  (Okunma sayısı 3803 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı shrlr

  • Yeni Üye
  • *
  • İleti: 5
  • Rep: +0/-0
slm arkadaşlar ben firebirte yaptığım tablomda bir kaç değişiklik yapıyorum fakat bunu delphide tekrar bağlantı yaptığımda yaptığım değişiklikleri göremiyorum...sanki güncellemiyor gibi...tabloma bir alan ekledim ama bu alanı yok olarak görüyor yardımcı olursanız sevinirim...
« Son Düzenleme: 05 AÄŸustos 2008 12:17:50 by Kocaturk »

triangle

  • Ziyaretçi
afterpost ve afterdelete olayına table1.applyupdates eklersen olur sanırsam transection da commit olması gerek

Çevrimdışı hayati

  • Administrator
  • *****
  • İleti: 821
  • Rep: +19/-3
  • Cinsiyet: Bay
Kod: (delphi) [Seç]
procedure TForm1.IBDataSet1AfterPost(DataSet: TDataSet);
begin
   IBTransaction1.CommitRetaining;
end;


http://www.delphidunyasi.net/index.php/topic,86.0.html
İncelemenizi tavsiye ederim.
Ayrıca dediğiniz olay benimde başıma gelmişti ve hiç bir çözüm bulamamıştım, yalnız benim sorunum tabloya sonradan bir kaç alan daha ekledikten sonra meydana geldi, tabloyu tekrar (sıfırdan) oluşturduktan sonra sorun kalmadı.

Çevrimdışı shrlr

  • Yeni Üye
  • *
  • İleti: 5
  • Rep: +0/-0
evet sorunumu hallettim teşekkür ederim...sizlerede kolay gelsin...

Çevrimdışı azizn

  • Kıdemli Üye
  • *****
  • İleti: 54
  • Rep: +0/-1
Buna benzer bir soruda ben sorsam;
Bende kişi bilgileri ve kişiye ait her ay girilmesi gereken bilgi alanlarının olduğu delphi ve firebird kullanarak bir program yaptım.İlk bilgi girişi yapıyorum daha sonra programı kapatıp tekrar açıp aynı kişiye ait bir başka alana bilgi giriyorum.Tekrar kapatıp açtığımda ikinci bilgiler görünmüyor.
ibdataset1.edit; yazdığım buton işe yaramıyor.
Bu duruma bir yardım edermisiniz
« Son Düzenleme: 27 Mart 2009 15:37:34 by azizn »

Çevrimdışı azizn

  • Kıdemli Üye
  • *****
  • İleti: 54
  • Rep: +0/-1
Sorunum hala taptaze devam ediyor.Gerçi geçen 5 aylık zaman zarfında bende bu konuda araştırma yapmadım (yapamadım desem daha doğru sanırım,programın büyük kısmı bitti fakat hesapta olmayan sebeplerden ara verdim) yinede bir cevap verirseniz memnun olurum.
Sorunumu kısaca özetlersem;

Delphi+Firebird 2,1+ibexpert kullanıyorum.
Bir tablo var,"AD+SOYAD+İLK TARİH+SONRAKİ TARİH+SONRAKİ TARİH" diye devam eden alanlarım var.Tabloya,kişiyi ilk geldiğinde kaydediyorum ve ilk tarih alanına veri girişi yapıyorum, burda sorun yok.Kişi bir süre sonra tekrar geldiğinde o günün tarihini yazıp kaydediyorum,fakat programı açıp kapattığımda veriler yok.Yada kişi ile ilgili herhangibir bilgiyi değiştirmek istediğimde program açılıp kapanınca bütün herşey ilk haline dönüyor.
Yani sadece yeni bir kayıt ekleyebiliyorum,sonraları o kayıtla ilgili herhangi bir değişiklik yapamıyorum.
Butonların kodları aşağıda
procedure TGDNEVRAKfrm.SpeedButton4Click(Sender: TObject);

//YENI KAYIT BUTONU
begin
ActiveControl:=DBEdit2;
ibdataset1.Close;
ibdataset1.SelectSQL.Clear;
ibdataset1.SelectSQL.Add('select * from GIDENEVRAKDEFTERI');
ibdataset1.Open;
ibdataset1.Append;

end;

procedure TGDNEVRAKfrm.SpeedButton5Click(Sender: TObject);
//KAYDET BUTONU
var
kaydet:integer;
begin
kaydet:=Application.MessageBox(' KAYDETMEK iSTiYORMUSUNUZ?','KAYDET',MB_YesNO);
if kaydet=mrYes Then
begin
if IBDataSet1.State in [dsInsert, dsEdit] then
IBDataSet1.Post;
end
else
ShowMessage('KAYIT iÅžLEMi iPTAL');
ibdataset1.cancel;
image1.Left:=224;
image1.Top:=25;
end;

procedure TGDNEVRAKfrm.SpeedButton6Click(Sender: TObject);
//DUZENLE BUTONU
begin
ibdataset1.Edit;
end;

procedure TGDNEVRAKfrm.SpeedButton7Click(Sender: TObject);
//IPTAL ET BUTONU
begin
ibdataset1.Cancel;

end;

Saygılar
« Son Düzenleme: 06 Eylül 2009 04:48:13 by azizn »

Çevrimdışı Fatih

  • Administrator
  • *****
  • İleti: 2.204
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Büyük ihtimalle IBDataSet'in ModifySQL özelliğinde sorun var.
Delphi 2007/2009 çıktı.Ayrıntı için tıklayın

Çevrimdışı GURGAH

  • Yeni Üye
  • *
  • İleti: 7
  • Rep: +0/-0
anladığım kadarı ile sorun çözülmüş ama
birde bunu deneyebilirisniz

updateQuery.ExecSQL

kolay gelsin
« Son Düzenleme: 31 Ekim 2009 14:36:58 by GURGAH »

Çevrimdışı azizn

  • Kıdemli Üye
  • *****
  • İleti: 54
  • Rep: +0/-1
Şİmdi konuyu hortlatmış gibi olucam ama bugün formda yaptığım değişikliklerin veritabanına yansımaması ile ilgili bir deneme yaptım ve bunu paylaşayım istedim.
Önce firebird da bir deneme database ve ID,ADI,SOYADI alanlarına sahip bir  tablo oluÅŸturdum.Delphide ibdatabase,ibdataset,ibtransaction ve datasource bileÅŸenlerini kullanarak baÄŸlantıyı yaptım.(ibtransaction default action=commit retaining""transaction properties=read commited)BileÅŸenlerin default ayaralarıyla hiç oynamadan kayıt yapıp bunları deÄŸiÅŸtirmeyi denedim ve herhangi bir sorun olmadı.
Daha sonra ibexpertte deneme tabloma yeni bir alan ekleyip delphi tarafında bu alanıda forma ekleyip dataset ayarlarını yaptıktan sonra tekrar kayıt yapıp değiştirmeyi denedim.
Bu defa yeni alan eklemeden önce yaptığım kayıtlar üzerinde yaptığım değişiklikler veritabanına yansımadı.Fakat yeni alan ekledikten sonra yaptığım kayıtlar üzerinde değişiklik yapabildim.
Yani tabloyu ilk oluşturduktan sonra örneğin 3 kaydım vardı,tabloya yeni bir alan ekledikten sonra 2 kayıt daha ekledim.Bu kayıtlardan ilk 3 kayıtta değiklik olmadı,sonraki 2 kayıtta değişiklik yapabiliyorum.
Acaba bu bir sorunmudur yoksa benim yapmam gereken bir işlemi yapmadığım içinmi kaynaklanıyordur anlayamadım.
Teşekkür ederim.

Çevrimdışı azizn

  • Kıdemli Üye
  • *****
  • İleti: 54
  • Rep: +0/-1
Sayın delphidunyasi sakinleri.Az önce,Delphi tarafında veritabanından silinmiş,değiştirilmiş gibi görünüp veritabanında hiçbir değişiklik göstermeme olayını çözdüm çok şükür ve şu an acayip bi sevinç içindeyim.Belki basit bişey ama olsun :))

ibdatabase-ibdataset-transaction ve datasource bileşenlerini formumuza yerleştirdik.Bağlantıları yaptık.
İbdatabase>> databasename veritabanımızı gösterdik.defaulttransaction özelliğine transactionumuzu gösterdik.
ibtransaction>>defaultaction=commitretaining    transaction properties=readcommited
ibdataset>>database özelliÄŸine ibdatabase1 gösterdik.selectsql özelliÄŸine tıklayıp select * from "tablomuz".Daha sonra datasete saÄŸ tıklayıp dataset editöre giriyoruz.get table fields-dataset defaults butonlarına tıklayıp,select primary keys butonuna tıkladıktan sonra "Key Fileds"  bölümünde primary key olan alanı seçiyoruz,update fields bölümünde bütün alanlarımız seçili durumda.(Aslında ben tabloda primary key tanımlamadım fakat ID alanımı Key fields bölümünde iÅŸaretledim)Daha sonra generate sql butonuna tıklıyoruz ve OK.Daha sonra bileÅŸenlerimizi aktif hale getirip afiyetle silme deÄŸiÅŸtirme iÅŸlemlerini yapabiliriz :)))
Burada en önemli olay datasetin dataset editör ayarları.Konuyla ilgili denemelerimde dataset default butonuna tıklayıp select primary key kısmında key fields olarak bütün alanlar seçili olduğunda veritabanında silme değiştirme işlemi yapmıyor.Fakat select primary key tıklayıp key fields olarak tek alanı işaretleyip generate sql derseniz işlemler normal olarak devam ediyor.

Biraz karmaşık bi açıklma oldu ama sevincime verin artık :))
İyi geceler

Çevrimdışı Cturk

  • Kıdemli Üye
  • *****
  • İleti: 223
  • Rep: +5/-1
  • Cinsiyet: Bay
ArkadaÅŸ Sorunu çözdüm diyor ama Ben yinede ekleme yapayım; Firebird'ü AÄŸ'da kullanırken "Lock" yani kilit koyma ,aynı kayıt üzerinde iken tabloda iÅŸlem yapılması "DeadLock'a düşürür ve bu IBX bileÅŸenlerinin bir programcıya eksi_bonus'udur ,Formlarda araÅŸtırırsanız göreceksiniz; IBX bileÅŸeni IBTransactiondan kaynaklanan sorunu Hata kodları ile önlemeye çalışılmış hatta çift transaction Çift Dataset bile kullanılmıştır. ama bu soruna kalıcı bir çözüm bulunamamıştır.Ya IBX bileÅŸenlerini kullanmayacaksınız yada yukardaki gibi geçici çözümlerle uÄŸraÅŸacaksınız, ama ben bu sorunu  FIBPlus BileÅŸenleri ile aÅŸtım, Çift FIBTransaction kullanarak FIBdataset ile Objectinspector'den AutoCommit=True yaparak Mükemmel performans alıyor Aynı Tabloda istediÄŸiniz gibi "DeadLock'a" düşmeden iÅŸlem yapabiliyorsunuz.

Kolay gelsin
« Son Düzenleme: 06 Åžubat 2010 00:19:50 by Cturk »