arkadaşlar başka bir projemde kullandğım sql kodu şimdi saçmalayama başladı. kod işte şöyle
procedure Tanaform.txaraChange(Sender: TObject);
var
sqlvalue : string;
begin
sqlvalue := ('select * from data where ' + 'BASLIK LIKE ''' + '%' + txara.Text + '%' + '''' +
' or ' + 'MEVZUAT LIKE ''' + '%' + txara.Text + '%' + ''' ');
if sqlvalue <> '' then
begin
anaform.qer.Close;
anaform.qer.SQL.Clear;
anaform.qer.SQL.Add(sqlvalue);
anaform.qer.Open;
qer.Active := true;
end;
end;
ya bu ko önceden en ufak bir hata vermiyorda ve halen önceki projede sorun vermiyor ancak bu projemde hata veriyor.
hata da başlıkta olduğu gibi query = cannot perform this operation on a closed dataset
oysaki query aktif hale getiriyorum yada açıyorum sorun nedir?
query Cannot perform this operation on a closed dataset
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
query Cannot perform this operation on a closed dataset
[ F X E R K A N © - E r k a n Ç İ F T Ç İ ]
Merhaba,
hocam bu hata kapalı datasette bu işlemi yapamazsın demek. En güzeli adım adım çalıştırıp bu hatanın hangi satırdan kaynaklandığını bulmak.
Burda tek sırıtan satır qer.Active := True; satırı. bunu bir kaldırıp dene. amacı nedir bu satırın burda bunuda anlamadım.
Sana bir daha yazmıştım dikkatini çektimi bilmiyorum ama
Query1.Open ile Query1.Active := True aynı şeyler. İkisinden sadece birini kullanan lazım
Kolay gelsin.
hocam bu hata kapalı datasette bu işlemi yapamazsın demek. En güzeli adım adım çalıştırıp bu hatanın hangi satırdan kaynaklandığını bulmak.
Burda tek sırıtan satır qer.Active := True; satırı. bunu bir kaldırıp dene. amacı nedir bu satırın burda bunuda anlamadım.
Sana bir daha yazmıştım dikkatini çektimi bilmiyorum ama
Query1.Open ile Query1.Active := True aynı şeyler. İkisinden sadece birini kullanan lazım

Kolay gelsin.
abi biliyorum aynı mesajı birdaha attığımı ve hatta aynı mesajı sizinde yazdığınızı ancak
open dediğim zaman çalılıyor fakat anlamadığım bir şekilde sorun çıkartıyor.
yine bu mesajı. sadece active dediğim zamanda aynı şeyi yaptı. bende ikisini kullansam ne olur dedim ve çalıştı.
ancak bu projede her ikisi içinde sorun çıkartıyor.

open dediğim zaman çalılıyor fakat anlamadığım bir şekilde sorun çıkartıyor.
yine bu mesajı. sadece active dediğim zamanda aynı şeyi yaptı. bende ikisini kullansam ne olur dedim ve çalıştı.
ancak bu projede her ikisi içinde sorun çıkartıyor.

[ F X E R K A N © - E r k a n Ç İ F T Ç İ ]
- ender_arslanturk
- Kıdemli Üye
- Mesajlar: 709
- Kayıt: 18 Şub 2005 03:38
- Konum: İstanbul
Merhaba
Parantez İsretlerini kullanmasından dolayı, o da belki, string değer almayabilir. Ve open dediğinde açma işleminde hata vermiyebilir....
Normalde closed dataset hatasını burada vermemesi lazımdı... Yukarıda şekilde sql cümlesini değiştirdim bir incele bakalım sonuç ne olacak...
Bir de başıma geldi bir ara ki bu önemli ... Anaformun create sırası önemli... Bağlantı bileşenlerinden önce create oluyorsa hata vermeden closed dataset mesajını almanız doğaldır... Kodu denemedim... Sonucu beklerim...
Kolay Gelsin...
Kod: Tümünü seç
procedure Tanaform.txaraChange(Sender: TObject);
var
sqlvalue : string;
begin
sqlvalue := 'select * from data where baslik like '+'%'+txara.Text+'%'+' or mevzuat like '+'%'+txara.Text+'%';
if sqlvalue <> '' then
begin
anaform.qer.Close;
anaform.qer.SQL.Clear;
anaform.qer.SQL.Add(sqlvalue);
anaform.qer.Open;
end;
end;
Parantez İsretlerini kullanmasından dolayı, o da belki, string değer almayabilir. Ve open dediğinde açma işleminde hata vermiyebilir....
Normalde closed dataset hatasını burada vermemesi lazımdı... Yukarıda şekilde sql cümlesini değiştirdim bir incele bakalım sonuç ne olacak...
Bir de başıma geldi bir ara ki bu önemli ... Anaformun create sırası önemli... Bağlantı bileşenlerinden önce create oluyorsa hata vermeden closed dataset mesajını almanız doğaldır... Kodu denemedim... Sonucu beklerim...
Kolay Gelsin...
