qrchart ve veritabanı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

qrchart ve veritabanı

Mesaj gönderen Serim »

Mrb arkadaşlar,öncelikle sorum qrchartla ilgili.kısaca şöle izah ediyim:
Benim veri tabanımda öğrenci kayıtları tutuluyor. ve hangi öğrencinin hangi dersten kaç puan aldığı tutuluyor. mesela A öğrencisi matematikten 50 almış, sosyalden 70 almış, fenden 85 almış. ben bunları chart üzerinde göstermek istiyorum. Ama bide çıktı almam lazım. yani print dediğimde bütün öğrencilerin özellikleri ayrı ayrı dbchartlar üzerinde gösterilecek.
ama ben onu yapamıyorum. :( hepsi aynı chart üzerinde gösteriliyor. onları ayrı ayrı nasıl yapabilirim?
mesela adı A olan öğrencinin notlarını bi chart üzerinde , B olan öğrencininde notlarını chart üzerinde, C olan öğrenci....... die gidiyor. bunların hepsi sıralı olarak gelmeli .ama bende bütün öğrenciler tek chart üzerinde geliyor.
teşekkürler,
iyi çalışmalar...
Bilginin temelini sağlam at depremde zarar görmesin
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Mesaj gönderen hbahadir »

DBChart componentini kullanma. 5 tane ayrı QRChart ile seriye sadece A notu alanları ekle. :)

Kolay gelsin
Hüseyin BAHADIR
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

Mesaj gönderen Serim »

Mrb Hüseyin Bey

Sanırım benim sorumu yanlış anladınız. Şimdi benim veritabanımda kayıtlar var. ve ben bu kayıtları chart üzerinde göstermek istiyorum. yani A öğrencisi için bi chart, B öğrencisi için ayrı bi chart, C öğrencisi içinde ayrı bir chart olsun istiyorum. Veri tabanındaki kayıtlar değişken. O yüzden istediğim kadar chart koyamam. Yani chartları o anda oluşturmam gerekiyor. Ama ben bunu yapamadım. :cry:

bu konuda yardımcı olursanız çok sevinirim.
iyi çalışmalar.
Bilginin temelini sağlam at depremde zarar görmesin
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Mesaj gönderen hbahadir »

o zaman detail band üzerine chart koy. o öğrencinin bilgilerini detay bandın beforeprint olayından önce chart'a aktar.

Kolay gelsin.
Hüseyin BAHADIR
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

DBChart kullanacaksanız, bir tane liste Query'si hazırlayın bir de Tek bir öğrencinin notlarını döndüren bir Query yazın. Tek öğrencilik olan Query'i DBChart ile bağlayın.

Liste Query'sini arka planda istediğiniz ORDER'da open edin, sonra DBChart'ın tek Öğrencilik Query'sini Liste Query'den aldığınız bilgi (örneğin Öğrenci No veya ID ile) tek tek açıp print edersiniz

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

Mesaj gönderen Serim »

selam

"DBChart kullanacaksanız, bir tane liste Query'si hazırlayın bir de Tek bir öğrencinin notlarını döndüren bir Query yazın. Tek öğrencilik olan Query'i DBChart ile bağlayın." bunu yaptım. daha sonra aşağıdakileri yapın demişsiniz;

"Liste Query'sini arka planda istediğiniz ORDER'da open edin, sonra DBChart'ın tek Öğrencilik Query'sini Liste Query'den aldığınız bilgi (örneğin Öğrenci No veya ID ile) tek tek açıp print edersiniz " bunu nasıl yapacağımı anlamadım :( biraz daha açabilirmisiniz? yani nasıl birbirinin içinden çağırcam?
iyi çalışmalar
Bilginin temelini sağlam at depremde zarar görmesin
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Örnek Kodlama yapıyorum

Kod: Tümünü seç

  qryChart.SQL.Text := 'SELECT OGRNO, DERS1, NOT1, DERS2, NOT2 FROM OGRNOTLAR WHERE OGRNO = :STR_OGRNO' ;
  // Yukarıda Tek bir öğrenci için Notlarını aldığın Query Olmalı
  qryListe.SQL.Text := 'SELECT * FROM OGRTABLE ORDER BY OGRNO' ;
  qryListe.Open ;

  Repeat
    qryChart.Close ;
    qryListe.ParamByName('STR_OGRNO').AsString := qryListeOGRNO.AsString ;
    qryChart.Open ;
    // Print İşlemlerin
    DBChart.Print ; // Bu satırı uydurdum sadece algoritmayı anlatmak için yazdım
    qryListe.Next ;
  Until qryListe.Eof ;

Ok?

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Az önceki mailde hatalı bir satır yazmışım doğrusunu yazıyorum

Kod: Tümünü seç

qryChart.ParamByName('STR_OGRNO').AsString := qryListeOGRNO.AsString ;
Kolay gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

Mesaj gönderen Serim »

Adnan abi, bende sizin yaptıklarınızı yaptım. parametre tanımladım. ama ben query1.parambyname yapamıyorum. bana hata veriyor. parametreyi doğru tanımladım eminim+sql cümlelerimde de bir hata yok. ama query1.parambyname('ID').asinteger:=listeid.asinteger; dedim. aama olmadı. neden öyle olmuş olabilir?
Bilginin temelini sağlam at depremde zarar görmesin
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

Mesaj gönderen Serim »

Adnan abi, daha önce forumdaki açıklamalardan birini okudum.

Params[0].Asstring:=......

böyle yazılmış. böyle yazsakta oluyomuş. ama bunu bile kabul etmedi. :(
Bilginin temelini sağlam at depremde zarar görmesin
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

istediğiniz olayı yanlış anlamadı isem yaptım.
dbdemostan bi tablo ekledim. employee
4 tane yeni (calc. field ile) alan oluşturdum.

sonra bunları raporda ilk önce text olarak yazdım doğrumu göreyim diye.
sonra db chart yerleştirdim.
bar graph ekledim.
series data source ü : single record , yapıp altta açılan alanda istediğim filedları ekledim. (sinav1,2,3,4) güzelde oldu :)

ister iseniz mail atayım projeyi. dfm si epey büyük buraya atmayayım karışık olur,

ek : vazgeçtim atayım buraya çokda büyük değilmiş

Kod: Tümünü seç

      object QRChart1: TQRChart
        Left = 112
        Top = 8
        Width = 601
        Height = 105
        Frame.Color = clBlack
        Frame.DrawTop = False
        Frame.DrawBottom = False
        Frame.DrawLeft = False
        Frame.DrawRight = False
        Size.Values = (
          277.812500000000000000
          296.333333333333400000
          21.166666666666670000
          1590.145833333333000000)
        object QRDBChart1: TQRDBChart
          Left = -1
          Top = -1
          Width = 1
          Height = 1
          BackWall.Brush.Color = clWhite
          BackWall.Brush.Style = bsClear
          Title.AdjustFrame = False
          Title.Text.Strings = (
            'TQRChart')
          Title.Visible = False
          Legend.Visible = False
          View3D = False
          View3DWalls = False
          object Series1: TBarSeries
            Marks.ArrowLength = 20
            Marks.Visible = False
            DataSource = Form1.DataSource1
            SeriesColor = clRed
            XValues.DateTime = False
            XValues.Name = 'X'
            XValues.Multiplier = 1.000000000000000000
            XValues.Order = loAscending
            YValues.DateTime = False
            YValues.Name = 'Bar'
            YValues.Multiplier = 1.000000000000000000
            YValues.Order = loNone
            YValues.ValueSource = 'sinav1;sinav2;sinav3;sinav4'
          end
        end
      end
delphi7-quickreport 3.0.9 - dbchart ise tee chart 4.04
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Konyalı bey Mail adresime projenizi zipleyip gönderirseniz bir ara incelemek isterim. Merak ettim.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Query'nin Parameters Propertysindeki, Parametrelerinin Type'larına bak. Muhtemelen onları set etmedin bu sebeple sana kızıyordur.

Verdiği hata parameter is unknow type gibi bişiler diyor ise dediğimi yap, eğer başka bir sorun var ise Query'lerini, ve source'taki ilgili bölümü gönder inceleyelim.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Kod: Tümünü seç

procedure TForm2.FormCreate(Sender: TObject);
var
str:string;
sayi,i:integer;
begin
query1.Close;
query1.SQL.Clear;
sorgu.SQL.Clear;
query1.SQL.Text:='select * from cizelge where id=:ID';
sorgu.SQL.Text:='select * from cizelge order by id';

sorgu.Open;
 Repeat
    query1.Close ;
   // burda parambyname olmuyo işte.
    query1.Parameters.ParamByName('id').Value := sorguid.AsInteger;
    query1.Open ;
    sorgu.Next ;
  Until sorgu.Eof ;
end;
Arkadaş Ado kullandığın için ParamByName i bulamıyorsun gerekli düzenlemeyi yaptım. Forum kurallarını okuyalım ve sorularınızda lütfen veritabanınızı ve kullandığınız erişim bileşenlerinizi belirtiniz.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

benim dediğimde çalışyo yahu :) oluyor ayrı ayrı basmaya gerek yokki, :roll: benmi yanlış anladım :? :(
.-.-.-.-.-.-.-. ^_^
Cevapla