veritabanı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
veritabanı
s.a arkdaşlar veritabanı ile ilgili bir sorunum var şöyleki elimde öğrencibilgi tablom ve müzik tablom var ben bir combobox içine müzik tablomdaki ney,baglamagitar gibi alanları sıraladım
istediğim ise oradan neyi seçtiğim zaman iki tabloda da yer alan tc kimlik idleriyle eşleşip ney le uğraşan yani ney alanı true(mantıksal alan) öğrencilern aşağıdaki gridde listelenmesi
yani neyle uğraşan öğrencilerin kayıtları aşağıdaki gride dökülecek basit görünüyor ama tam bir mantık kuramadım fikri olan???
istediğim ise oradan neyi seçtiğim zaman iki tabloda da yer alan tc kimlik idleriyle eşleşip ney le uğraşan yani ney alanı true(mantıksal alan) öğrencilern aşağıdaki gridde listelenmesi
yani neyle uğraşan öğrencilerin kayıtları aşağıdaki gride dökülecek basit görünüyor ama tam bir mantık kuramadım fikri olan???
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: veritabanı
veritabanındaki alanları yazarsan daha hızlı yardımcı olunabilir
Re: veritabanı
dosyayı ekledim bağlanacak veritabanlarını
- Dosya ekleri
-
- a.rar
- (2.98 KiB) 138 kere indirildi
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: veritabanı
forma bir tane query, bir tane datasource ve bir tane de dbgrid koyun.
Query, datasource ve dbgrid bağlantılarını yapın.
comboboxun onchange olayına da aşağıdaki kodları yazın.
case Combobox1.itemindex off
0:Begin // ilk sırada ney olduğunu varsayalım
query1.close;
query.sql.text='select * from müzik m, ogrencibilgi o where m.msney=true and m.mstcno=o.ogrtcno';
query.open;
If query.recordcount=0 Then begin
showmessage('Kayıt bulunamadı');
end;
end;
1: diğer alanlar için yukardaki kodda müzik aletinin adını değiştirerek uygulayın
Query, datasource ve dbgrid bağlantılarını yapın.
comboboxun onchange olayına da aşağıdaki kodları yazın.
case Combobox1.itemindex off
0:Begin // ilk sırada ney olduğunu varsayalım
query1.close;
query.sql.text='select * from müzik m, ogrencibilgi o where m.msney=true and m.mstcno=o.ogrtcno';
query.open;
If query.recordcount=0 Then begin
showmessage('Kayıt bulunamadı');
end;
end;
1: diğer alanlar için yukardaki kodda müzik aletinin adını değiştirerek uygulayın
Re: veritabanı
anlamadığım nokta şu iki tablom varken neden bir query kullanıyorm acaba birde ben iki tabloya birden bir queryiden baglanabiliyrmuyum?
Re: veritabanı
hocam cevap için çok sagolun ama malumunuz sql editörde çalışmıyorz
ama orda çalışır gibi birden fazla tabloyla çalşmak gerek daha önceden bu tarz bişey denemeye ihtiyacım olmadığı için güzel bir çözüm bulamadım

Re: veritabanı
bu konuda White rose arkadaşımın paralelinde fikir verecek biri var mı ?? bu kod sistemi çok mantıklı ama delphiye entegre edemedim
Re: veritabanı
White rose kardeşim sagol desteğin için sorunu hallettim fakat şuanda da şöyle bir sorun var combobox tan ilk seçtiğim örneğin neyden sonra başka birini seçtiğimde hata veriyor
neden olabilir birincide sorun yok ıkıncı seçimimde kodlarım aşağıdaki gibi
procedure TForm4.ComboBox1Change(Sender: TObject);
begin
if Combobox1.itemindex=0 then begin
query2.close;
query2.SQL.add(' select * from muzik,ogrencibilgi where msney=true and mstcno=ogrtcno');
query2.open; end;
if Combobox1.itemindex=1 then begin
query2.close;
query2.SQL.add(' select * from muzik,ogrencibilgi where msgitar=true and mstcno=ogrtcno');
query2.open; end; ;
if Combobox1.itemindex=2 then begin
query2.close;
query2.SQL.add(' select * from muzik,ogrencibilgi where msbaglama=true and mstcno=ogrtcno');
query2.open; end;
end;
neden olabilir birincide sorun yok ıkıncı seçimimde kodlarım aşağıdaki gibi
procedure TForm4.ComboBox1Change(Sender: TObject);
begin
if Combobox1.itemindex=0 then begin
query2.close;
query2.SQL.add(' select * from muzik,ogrencibilgi where msney=true and mstcno=ogrtcno');
query2.open; end;
if Combobox1.itemindex=1 then begin
query2.close;
query2.SQL.add(' select * from muzik,ogrencibilgi where msgitar=true and mstcno=ogrtcno');
query2.open; end; ;
if Combobox1.itemindex=2 then begin
query2.close;
query2.SQL.add(' select * from muzik,ogrencibilgi where msbaglama=true and mstcno=ogrtcno');
query2.open; end;
end;
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: veritabanı
Kod: Tümünü seç
if Combobox1.itemindex=0 then begin
query2.close;
query2.sql.clear;
query2.SQL.add(' select * from muzik,ogrencibilgi where msney=true and mstcno=ogrtcno');
query2.open; end;
if Combobox1.itemindex=1 then begin
query2.close;
query2.sql.clear;
query2.SQL.add(' select * from muzik,ogrencibilgi where msgitar=true and mstcno=ogrtcno');
query2.open; end; ;
if Combobox1.itemindex=2 then begin
query2.close;
query2.sql.clear;
query2.SQL.add(' select * from muzik,ogrencibilgi where msbaglama=true and mstcno=ogrtcno');
query2.open; end;
end;
Mücadele güzelleştirir!
Re: veritabanı
sevgili kardeşim sagol ama o şekilde de denedim ilk iki sırayı tıklarsam blob has been modified hatası alıyorum ancak üçüncü sıradaki bağlamayı tıkladığımda sonuç veriyor çok tuhaf
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: veritabanı
SQL stringi için clear ve add kullanmak yerine direk text özelliğine sorgu atabilirsiniz, böylece daha az kod yazarsınız bir de benim verdiğim yukardaki kodu iyi inceleyin.
Re: veritabanı
kardeşim kodlarını inceledim uyguladım fakat sorun aynı kaldı kodu dediğiniz şeklde yaptım hata değişmedi blob hatası
if Combobox1.itemindex=0 then begin
query2.close;
query2.SQL.Text:=' select * from muzik,ogrencibilgi where msney=true and mstcno=ogrtcno';
query2.open;
end;
if Combobox1.itemindex=0 then begin
query2.close;
query2.SQL.Text:=' select * from muzik,ogrencibilgi where msney=true and mstcno=ogrtcno';
query2.open;
end;
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: veritabanı
Hatayı tam olarak yazar mısın
Re: veritabanı
kardeşim hatayı resimledim buyur bakabilirsin ekte
- Dosya ekleri
-
- Adsız.rar
- (8.97 KiB) 134 kere indirildi
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: veritabanı
Öğrenci tablon bozulmuş blob(resim) alandan dolayı hata veriyor, dosyayı tamir etmelisin.
Tamir dosyası http://www.yusufakgul.org/Gerekli.html sayfasında Paradox tamir dosyası adıyla mevcuttur.
Bunu indirip dosyanı tamir edersen sanırım problemin çözülür.
Tamir dosyası http://www.yusufakgul.org/Gerekli.html sayfasında Paradox tamir dosyası adıyla mevcuttur.
Bunu indirip dosyanı tamir edersen sanırım problemin çözülür.