procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var qr: TQuery;
ibdt:TIBDataSet;
begin
if DBGrid1.DataSource.DataSet.ClassName='TIBDataSet' then
begin
ibdt:=TIBDataSet(FindComponent(DBGrid1.DataSource.DataSet.Name));
with DBGrid1.DataSource.DataSet.Owner do
begin
ibdt.Close;
ibdt.SelectSQL.Clear;
ibdt.SelectSQL.Add('select *from ogrenci order by '''+Column.FieldName+'''asc ');
ibdt.Open;
end;
end;
end;
Bu kodla çalışma anında title kısmına tıkladığım field'a göre sıralama yapmak istiyorum ve karşıma şu tür bi hata geliyor.
raised exception class EIBclientError with message 'Database not assigned'
bunu aşmak için nasıl bir kod yazmalıyım bilgisi olan varsa yardım bekliyorum. burada sql kodu yazmadan önce findcomponent ile bulduğum componentin ismini yazdırıyorum ismi doğru çıkıyor.. yani ShowMessage(ibdt.Name); ile ama içine kod gönderince çakılıp kalıyor.
interbasi kaldırdım gds32.dll dosyasını sildim firebirdi kurdum..ibexpertte bir sorun olmuyor database bağlanıyorum hrşey normal.formda tasarımı yapıyorum ibdatabase de bağlanıyor ama uygulamayı run ettiğimz zaman form açılmadan
database not assigned
hatası veriyor uygulama çalışmıyor..interbase de böyle bir sorun yoktu..bu sorunu nasıl aşarız bilen arkadaşlardan yardım rica ediyorum..
herkese kolay gelsin
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
yukarıdaki hatayı formda ibtable varken master-detail ilşkisi kurduktan sonra vermşti.ibtable ları sildim formdan bu kezde firebird sorumsuz oldu.
yukarıdaki mesajı yazdıktan sonra başıma extradan bir olay daha geldi..
tasarım anında gridlerde alanları vs. görüyorum ama uygulama çalışınca gridler bomboş sanki hiç bir şey olmamış..firebird umursamaz davranmaya başladı napmak lazım arkadaşlar.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
aksini bilemem ama bu hata çoğunluk IBDatabase nesnesini vt ye bağlamadan,aktif etmeden herhangi bir IBQuery,IBDataseti aktif yapmaya çalıştığımız zaman olur benim bildiğim...
hocam yukarıda bahsettiğim gibi tasarım anında hiç bir hata yoktu normal çalışıyordu ama run ederken sorun çıkıyordu..bu sorunu ise ibtable kullandığım zaman verdi ama ibtablelaerı sildikten sonra bu kezde run oluyor fakat gridlerde saçmalık vvar.anlamsız birşey ama
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
bu hatayı iki tabloyu ibtable larla birleştirdikten sonra verdi run olunca alıyordum birde..daha sonra ibtable ları sildim bağlantıları tekrar yaptım form tasarım halinde gridlerde herşey normal ama run olunca form açılıyor ama bu kez gridler hiç birşey yok ..sorun bu hocam
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
* ya vt sıfır hiç kayıt girilmemiş
*ya dbgiride fieldler eklenmemiş
*ya da yazdığın SQL kodunda bir eksiklikler var
bunların hepsi tamam doğru diyorsan o zaman form üzerinde ne varsa kaldır bir daha koy bir daha bağla yine sorun çözülemedi ise ben olsam ya delphiyi yeniden kurur yada bilgisayara format atardım
merhabalar
ayı sorundan bende muzdaribim
design time anında ibsql'i active yaptığım zaman kayıtları görüyorum
fakat runtime anında formun showunda ibsql'i open yaptığım zaman database not assigned hatasını alıyorum. @coderlord
cevabını biraz daha açarmısın
demek istediğim şudur
bir transaction
bir query
bir datasource
ve birtanede ibupdate 'im var
database ise datamodulde
bağlantılarım doğru kontrolunu yaptım sorun sadece run time anında.
run time anında queryim açılmıyo database not assigned hatası alıyorum.
sevgili @ugur1982 bundan önceki mesajımda yazdığım gibi
true_false yazdı:
bir transaction
bir query
bir datasource
ve birtanede ibupdate 'im var
database ise datamodulde
bağlantılarım doğru kontrolunu yaptım .
nesnelerimin bağlantılarını kod ile yapmıyorum seninde neden bahsettiğini anlamadım kod ile bir işim yok yane ib queryim databasini transactionunu seçiyorum datasourcemin datasetini (ibquerymi) transactionunmunda default databasini seçiyom
işlemler tamam yane çalışması lazım vede design time anında çalışıyor.
seninle anlaşamadığım konu şu sorun sadece runtime anı yani programı çalıştırdığım an
burda formun showunda querym open olmuyo halbuki design timde oluyodu sorun budur kardeş umarım anlamışındır. veya anlatabilmişimdir
Şimdi burada bi çelişki var gibime geliyor.Design time Query'i akfif ediyor,sorun çıkmıyor ve hiç kodla da müdahale etmiyor.Programı RUN yapıyorsunuz ve o hatayı veriyor.Bu beni aşar. Çünkü ben böyle bir şey yaşamadım,görmedim.Bilen birisi bir cevap verir.Bizde öğrenmiş oluruz