veritabanı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
askes
Üye
Mesajlar: 20
Kayıt: 17 Ara 2011 01:07

veritabanı

Mesaj gönderen askes »

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???
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: veritabanı

Mesaj gönderen White Rose »

veritabanındaki alanları yazarsan daha hızlı yardımcı olunabilir
askes
Üye
Mesajlar: 20
Kayıt: 17 Ara 2011 01:07

Re: veritabanı

Mesaj gönderen askes »

dosyayı ekledim bağlanacak veritabanlarını
Dosya ekleri
a.rar
(2.98 KiB) 138 kere indirildi
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: veritabanı

Mesaj gönderen White Rose »

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
askes
Üye
Mesajlar: 20
Kayıt: 17 Ara 2011 01:07

Re: veritabanı

Mesaj gönderen askes »

anlamadığım nokta şu iki tablom varken neden bir query kullanıyorm acaba birde ben iki tabloya birden bir queryiden baglanabiliyrmuyum?
askes
Üye
Mesajlar: 20
Kayıt: 17 Ara 2011 01:07

Re: veritabanı

Mesaj gönderen askes »

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
askes
Üye
Mesajlar: 20
Kayıt: 17 Ara 2011 01:07

Re: veritabanı

Mesaj gönderen askes »

bu konuda White rose arkadaşımın paralelinde fikir verecek biri var mı ?? bu kod sistemi çok mantıklı ama delphiye entegre edemedim
askes
Üye
Mesajlar: 20
Kayıt: 17 Ara 2011 01:07

Re: veritabanı

Mesaj gönderen askes »

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;
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: veritabanı

Mesaj gönderen greenegitim »

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;

query2.sql.clear; eklemeniz gerekir.
Mücadele güzelleştirir!
askes
Üye
Mesajlar: 20
Kayıt: 17 Ara 2011 01:07

Re: veritabanı

Mesaj gönderen askes »

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
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: veritabanı

Mesaj gönderen White Rose »

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.
askes
Üye
Mesajlar: 20
Kayıt: 17 Ara 2011 01:07

Re: veritabanı

Mesaj gönderen askes »

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;
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: veritabanı

Mesaj gönderen White Rose »

Hatayı tam olarak yazar mısın
askes
Üye
Mesajlar: 20
Kayıt: 17 Ara 2011 01:07

Re: veritabanı

Mesaj gönderen askes »

kardeşim hatayı resimledim buyur bakabilirsin ekte
Dosya ekleri
Adsız.rar
(8.97 KiB) 133 kere indirildi
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: veritabanı

Mesaj gönderen White Rose »

Öğ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.
Cevapla