Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Object was open Hatası
#1
Merhabalar
Yoğun veriyi Adodataset ile listeleyen bir formu 
bir kaç kez child form olarak açıyorum ve bu hatayı alıyorum. Dataset Formun Üstünde.

Object was open 


Hatanın Geldiği Bölüm

    if not TADODataSet(dsMaster.DataSet).Active then
      TADODataSet(dsMaster.DataSet).Open;


kayıt az ise sorun olmuyor, Bu şekilde yoğun verisi olan başka formlarda da bu hata geliyor.
Veri Tabanı MsSql Server.

Bu sorun ile karşılaşan arkadaşlar yardımcı olabilirler mi? Teşekkür ederim.
Cevapla
#2
(04-07-2019, Saat: 11:28)Emrah Karagöz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhabalar
Yoğun veriyi Adodataset ile listeleyen bir formu 
bir kaç kez child form olarak açıyorum ve bu hatayı alıyorum. Dataset Formun Üstünde.

Object was open 


Hatanın Geldiği Bölüm

    if not TADODataSet(dsMaster.DataSet).Active then
      TADODataSet(dsMaster.DataSet).Open;


kayıt az ise sorun olmuyor, Bu şekilde yoğun verisi olan başka formlarda da bu hata geliyor.
Veri Tabanı MsSql Server.

Bu sorun ile karşılaşan arkadaşlar yardımcı olabilirler mi? Teşekkür ederim.

Şöyle dener misin;

begin
TADODataSet(dsMaster.DataSet).Close;

  ////...varsa işlemler

TADODataSet(dsMaster.DataSet).Open;
end;
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#3
Denedim Sonuç Değişmedi.
Zaten form yeni açılıyor dataset kapalı olması lazım
Cevapla
#4
(04-07-2019, Saat: 11:42)Emrah Karagöz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Denedim Sonuç Değişmedi.
Zaten form yeni açılıyor dataset kapalı olması lazım

Birden fazla işlem yapıyorsun ve her işlem için open ile nesneyi aktif ediyorsun. Bir bölümde açıkken tekrar açmaya çalıştığı için bu hatayı veriyor sanırsam. If ile değilde her işlemde koşulsuz Close-Open yaparak işlemleri yapması hatayı çözer diye düşündüm ama olmadı. Sorunun küçük data sorun çıkarmaması soru işareti. Bende merak ettim.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#5
(04-07-2019, Saat: 11:28)Emrah Karagöz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhabalar
Yoğun veriyi Adodataset ile listeleyen bir formu 
bir kaç kez child form olarak açıyorum ve bu hatayı alıyorum. Dataset Formun Üstünde.

Object was open 


Hatanın Geldiği Bölüm

    if not TADODataSet(dsMaster.DataSet).Active then
      TADODataSet(dsMaster.DataSet).Open;


kayıt az ise sorun olmuyor, Bu şekilde yoğun verisi olan başka formlarda da bu hata geliyor.
Veri Tabanı MsSql Server.

Bu sorun ile karşılaşan arkadaşlar yardımcı olabilirler mi? Teşekkür ederim.

Merhaba,

AdoQuery özelliklerini aşağıdaki gibi düzenleyip dener misiniz.

CommandTimeout: 600

CursorLocation: clUseServer

CursorType: ctOpenForwardOnly

EnableBCD: False

LockType: ltReadOnly
Cevapla
#6
(04-07-2019, Saat: 11:52)pro_imaj Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba,

AdoQuery özelliklerini aşağıdaki gibi düzenleyip dener misiniz.

CommandTimeout: 600

CursorLocation: clUseServer

CursorType: ctOpenForwardOnly

EnableBCD: False

LockType: ltReadOnly

Object Was Open Hatası Gelmiyor fakat
Geçerli sağlayıcı, sıralama ve süzme için gerekli arabirimleri desteklemiyor.
bu hata geldi ve formun açılması 4 saniyeden 20 saniyeye çıktı.
Cevapla
#7
if not TADODataSet(dsMaster.DataSet).Active then
 TADODataSet(dsMaster.DataSet).Open;


Bu kontrole gerek yok. Open komutu zaten Active değilse Active yapar. Eğer Active ise hiçbir işlem yapmaz.
There's no place like 127.0.0.1
WWW
Cevapla
#8
(04-07-2019, Saat: 15:39)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
if not TADODataSet(dsMaster.DataSet).Active then
 TADODataSet(dsMaster.DataSet).Open;


Bu kontrole gerek yok. Open komutu zaten Active değilse Active yapar. Eğer Active ise hiçbir işlem yapmaz.

Aynı zamanda TADODataSet'e cast etmeye de gerek yok. Zaten Active property'si ve Open metodu hepsinin atası olan TDataSet'de tanımlı durumda.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  IDE kapanma hatası serdar 8 131 13-10-2019, Saat: 19:19
Son Yorum: serdar
  Media Player Hatası ikurt07 0 41 09-10-2019, Saat: 11:36
Son Yorum: ikurt07
  OrangeUIStyles Kurulum hatası serdar 16 414 08-10-2019, Saat: 10:30
Son Yorum: elixir84
  [ÇÖZÜLDÜ] fast report dil hatası wiseman 6 235 25-09-2019, Saat: 14:29
Son Yorum: wiseman
Thumbs Up Json Parse AV Hatası yhackup 0 100 02-09-2019, Saat: 13:27
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi