SQL ile DBGridde Alan Sorgulaması

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Turki
Üye
Mesajlar: 75
Kayıt: 03 May 2005 08:02

SQL ile DBGridde Alan Sorgulaması

Mesaj gönderen Turki »

//procedure TForm1.Button1Click(Sender: TObject);
//begin
//with IBQuery1 do begin
//Close;
//SQL.Clear;
//SQL.Add('SELECT * FROM IZAHAT ORDER BY TARIH');
//open;
//end;
//end;

Tabloda IBSQL ve IBQuery bileşeni( ayarlı)olmasına rağmen yukarıdaki kodla DBGridde sorgulama yapamıyorum..(TARIH Kolonu index'li)
En son Turki tarafından 21 May 2005 08:13 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Kodunuzda bir sorun gözükmüyor, daha açıklayıcı bişey yazarsanız biz de daha iyi anlarız. Almıyor demişsiniz ama sonuç mu dönmüyor, hata mı veriyor.. ?
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

DBGrid in DataSource unun DataSet ine IBQuery bağlanmış mı :?:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Turki
Üye
Mesajlar: 75
Kayıt: 03 May 2005 08:02

Tarih Sorgulama....

Mesaj gönderen Turki »

IBTable1 Bağlı ..Zaten Ayarlarınıda Bu siteden örnek alıp yaptım....Hiç bir hata vermiyor..ama işlemde yapmıyor...yani hiç bir hareket yok...

//IBTable1.Filter:='TARIH='+QuotedStr(Edit5.Text);//kriter
//IBTable1.Filtered:=true;//kriteri uygula

Kriteri Bu Şekilde Alıyorum..Hiç bir problem yok...Tabi Benim Amacım SQL yi Öğrenmek...

Not:IBQuery1 Bileşeninin Database,DataSource ve Transaction ayarları tanımlı Fakat Active Seçeneği False,True olmuyor.."SQL Error SQL error code =-104 Unexpected end of command" hatası veriyor...Bundan olabilirmi!!
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Öncelikle veritabanı bağlantısını kontrol edip, connect i true yapabilmelisin..
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Ali Erdoğan
Kıdemli Üye
Mesajlar: 1026
Kayıt: 11 Şub 2005 02:12
Konum: İstanbul

Mesaj gönderen Ali Erdoğan »

Query i hatasız open ettiğine göre veri tabanı bağlantısı sağlıklı olmalı.Bence Datasource un dataset özelliğini veya dggrid in datasource özelliklerinden birini yanlış bağlıyorsun.Sorun buradan kaynaklanıyordur.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Ayrıca
IBTable1.Filter:='TARIH='+QuotedStr(Edit5.Text);//kriter
da verdiğin Edit5.Text in tarih formatı farklı olabilir :?: Filtrelemeden tüm kayıtları görebiliyor musun :?:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Turki
Üye
Mesajlar: 75
Kayıt: 03 May 2005 08:02

Mesaj gönderen Turki »

Evet Tüm kayıtları Ğörebiliyorum...Tarih Kolonunu da DATE olarak tanımladım....Yalnız TARIH İ filitreledikten sonra karışıyorTabloyu açıp kapayınca düzeliyor..Bir yerde yanlış yaptığım gerçek..
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
peki tarih yerine diğer alanlardan birini filitrelemeyi denediğinde sonuca ulaşabiliyormusun.
Bide onu dene. Eğer sonuca ulaşıyorsan benim aklıma iki ihtimal geliyor.
1.si tarih formatın. eğer tarih formatın saatide içine alıyorsa onuda kontrol etmen gerekiyor.
2.si uygun kayıt olmadığı için boş dönüyordur.
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
peki tarih yerine diğer alanlardan birini filitrelemeyi denediğinde sonuca ulaşabiliyormusun.
Bide onu dene. Eğer sonuca ulaşıyorsan benim aklıma iki ihtimal geliyor.
1.si tarih formatın. eğer tarih formatın saatide içine alıyorsa onuda kontrol etmen gerekiyor.
2.si uygun kayıt olmadığı için boş dönüyordur.
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Turki
Üye
Mesajlar: 75
Kayıt: 03 May 2005 08:02

Mesaj gönderen Turki »

Evet Mesala KARTNO,MUSTERIKD,İndexli iKİ Sütun daha var TARİH(DATE olarak seçili) Sütunuda dahil Aşağıdaki Kodla Sıralama yapıyorum..(Tabi Karekterin hepsini yazmak şartıyla..)

// IBTable1.Filter:='KARTNO='+QuotedStr(Edit4.Text);//kriter
// IBTable1.Filtered:=true;//kriteri uygula

SQL ile Daha ayrıntılı sıralama yapmak istiyorum..Mesela İlk Karektere basarak sıralama yapmak..tekrar ikinci karektere basarak ...sıralama ve üç...dört diye gitmesini istiyorum..Mesela Paradoxta ben aşağıdaki şekilde istediğimi alıyordum...

//Table1.FilterOptions:=[FoCaseInsensitive];//harf duyarlılığı yok
//Table1.Filter:='KARTNO='+QuotedStr(Edit2.Text+'*');//kriter
//Table1.Filtered:=true;//kriteri uygula

Tablo Oluşumu:

KARTNO VARCHAR 12 NOT NULL PRİMARY (İNDEXLİ)
MUSTERIKD VARCHAR 12 (İNDEXLİ)
MALINCINSI VARCHAR 18
ADRES VARCHAR 25
TARIHI DATE (İNDEXLİ)
FIATI........Şeklinde gidiyor......
Turki
Üye
Mesajlar: 75
Kayıt: 03 May 2005 08:02

Firebirdde sorgulama problemim devam ediyor...

Mesaj gönderen Turki »

Bir hafta önce sordum fakat işlerim dolayısıyla biraz ara vermiştim..Firebirdde hala sorgulama yapamıyorum..IBExpert de tabloyu hazırladım.Tabloyu Compile ettim.hiç bir hata vermedi..10 tane sütunum var bunlardan 4 ünde filitreleme veya listeleme yapmak istiyorum..KARTNO(PRİMARY İNDEX,NOT NULL),MUSTERIKD (INDEX ),CINSI(INDEX) VE TARIH (INDEX) Lİ..Tabloya problemsiz kayıt giriyorum..Delphiye bağlanma araçları;IBTABLE,IBTRANSACTİON,IBDATABASE,DATASOURCE VE IBQUERY..DBGRİD'DE DataSource=DATASURCE1,DataSet=IBTable tanımlı DATASOURCE de DataSet=IBTable1, IBTABLE de DataBase=IBDatabase1, Transaction da IBTransaction1 tanımlı ,IBTransactionda DefaultDatabase=IBDatabase1 tanımlı ,Params Strings de "read_committed rec_version nowait" ayarlı, IBDatabase de DefaultTransaction=IBTransaction1 tanımlı, Params Strings de "user_name=SYSDBA password=masterkey lc_ctype=WIN1254" ayarlı IBQuery de DataBase=IBDatabase1, Datasource=DataSource1, Transaction=IBTransaction1 tanımlı ayrıca SQL String de "Select * From DATA" ayarlı IBQuery1'in Active=true peki ben nerede hata yaptım aşağıdaki kodla sorgulama yapamıyorum

//with IBQuery1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM DATA ORDER BY MUSTERIKD');
OPEN;
end;
END;

Yine aşağıdaki kodla yapıyorum!!

//Table1.Filter:='KARTNO='+QuotedStr(Edit2.Text);
Table1.Filtered:=true;

Lütfen yardım yoksa kafayı yiyeceğim,veya Paradox a döneceğim Çünkü Tabloyu yetiştirmem lazım,Onda hazırladığım Tablo tıkır tıkır çalışıyor vede sorgulamanın her türlüsünü yapıyorum..Firebird mi karışık yoksa bendemi bir şey var..oysa sitenizde örnekleri aynen uyguluyorum..Yinede hepinize teşekkür ederim Bir sorgulama yüzünden teslim olmak istemiyorum...Çünkü Her türlü güvenlik önlemi almama rağmen, Paradox a da güvenmiyorum...
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Hocam bahsettiginiz olay forum icerisinde cok kere gecmis bir mevzu.
en son mesajınızdaki sql cumlesinde where kriteri yok haliyle tum kaıtları gorursunuz.
Benim anladıgıma gore ibtable yada dataset ile tabloyu acıp gridde gosteriyorsunuz, query ile sorgulama yaparak kayıt mı bulmak istiyorsunuz?
yoksa edit kutusuna kriteri girdikce aynı grid uzerinde sadece o kritere sahip
kayıtları mı gostermek istiyorsunuz.
Eger ikinci soruya cevabınız ewt ise ibtable yerine ibdataset kullanın
ve editin onchange olayında ibdatasetin selectSQL ini yeniden duzenleyin. ve dataseti kapatıp acın.
ÜŞENME,ERTELEME,VAZGEÇME
Turki
Üye
Mesajlar: 75
Kayıt: 03 May 2005 08:02

Mesaj gönderen Turki »

her ikisinide yapmak istiyorum..

Hocam Ben Paradox daki gibi sorgulama yapmak istiyorum..Firebird e yeni geçtim..Paradoxda edit içinde karekterlerlere basarak DBRİDde listeleme ,Kolonlarıda ayrı ayrı başlıklarına veye butonlarla,tıklayarak Alfabetik olarak listeleyebiliyordum.daha doğrusu ikisinide yapmak için hangi araçları kullanacağımıda bilmiyorum..Paradoxda üç araçla delphiye bağlanıp DBGRİD de hepsini yapıyordum.....İlgilendiğiniz için teşekkürler...
Turki
Üye
Mesajlar: 75
Kayıt: 03 May 2005 08:02

Mesaj gönderen Turki »

Ben paradox da yapıb da firebird de yapamadığım olayları tam anlatamadım galiba ..Tabloya Girdiğim kayıtlarda bir problem yok,DBGRİD de hepsini görüyorum..açılışta KARTNO Sütunum Filitreli olarak geliyor onu Object Inspector Yaprağından ayarladım..TARIH Sütunumda da;
IBTable1.Filter:='TARIH='+QuotedStr(Edit5.Text);//kriter
IBTable1.Filtered:=true;//kriteri uygula

bu kodla istediğimi alıyorum.Benim esas sorunum 1=Edit içinde Klavyeden Kriterlere basarak DBGridde Alfabetik sıralama yapmak..
2=Sütun Başlıklarına basarak veya o sütunu çalıştıracak butona tıklayarak Alfabetik sıralama yapmak ...
Çünkü Yukarıdaki saydıklarımın hepsini ben paradox da çok basit Kodlarla yapıyorum...Firebird in anlatılan o üstün özelliklerinden faydalanmak istiyorum.. ama bu yazılanlardan anladığım kadarıyla 1.nci ve 2.nci şıkları aynı araçlarla yapamayacağımı anlıyorum ben......İnşallah yanlış anlamışımdır...
Cevapla