MSSQL server
MSSQL server
ben bir hırdavatcı dükkanına program yazmaya çalışıyorum delphi7 ve mssql kullanıyorum.Şimdi benden istenen formda 4 listbox olacak ilk list boxta sadece 2 seçenek olacak HIRDAVAT ve CİVATA mesela ilk listboxtan HIRDAVATI seçti 2. listboxa HIRDAVAT MARKALARI gelecek mesela DEWATT 2. listboxtan dewattı seçti 3. listboxa matkaplar gelecek(dewatt markasına ait kayıtlı ürünler) 3. listboxtanda matkapları seçtikten sonrada son listbozda mesela darbelimatkap gözükecek.Bu işin listeleme kısmıydı birde kayıt kısmı var mesela DEWALT markası yok o markayı kaydedecek...Ben tasarımı az çok becerdim gibi dblookuplistbx ile ama veritabanında fena sıkıştım yardımcı olursanız çok sevinirim SAYGILAR Ekw@tor.....
1-yeni bir table oluştur
2- 4 alannın olustur (tur,marka,ürünler,çeşitler) (tur=hırdavat, civata ; marka=dewatt ; urunler=matkap; çeşitler=darbelimatkap)
3- forma ado ile bağlandım.herhalde sizde aynısını yaparsınız. forma 4 tane listbox koy.
Ancak size tavsiyem listbox kullanmayın. combobox bu iş için daha ideal.
2- 4 alannın olustur (tur,marka,ürünler,çeşitler) (tur=hırdavat, civata ; marka=dewatt ; urunler=matkap; çeşitler=darbelimatkap)
3- forma ado ile bağlandım.herhalde sizde aynısını yaparsınız. forma 4 tane listbox koy.
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
ListBox1: TListBox;
ListBox2: TListBox;
ListBox3: TListBox;
ListBox4: TListBox;
Label1: TLabel;
procedure FormShow(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure ListBox2Click(Sender: TObject);
procedure ListBox3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormShow(Sender: TObject);
begin
adoquery1.SQL.Clear;
adoquery1.sql.Add('select tur from urun group by tur ');
adoquery1.Open;
while not ADOQUERY1.Eof do begin
ListBox1.Items.Add(ADOQUERY1.FieldByName('tur').AsString);
ADOQUERY1.Next;
end;
end;
procedure TForm1.ListBox1Click(Sender: TObject);
var
i: integer ;
begin
i:= listbox1.ItemIndex;
adoquery1.SQL.Clear;
adoquery1.sql.Add('select marka from urun where tur='''+listbox1.Items.Strings[i]+''' group by marka ');
adoquery1.Open;
while not ADOQUERY1.Eof do begin
ListBox2.Items.Add(ADOQUERY1.FieldByName('marka').AsString);
ADOQUERY1.Next;
end;
end;
procedure TForm1.ListBox2Click(Sender: TObject);
var
i: integer ;
begin
i:= listbox2.ItemIndex;
adoquery1.SQL.Clear;
adoquery1.sql.Add('select urunler from urun where marka='''+listbox2.Items.Strings[i]+''' group by urunler ');
adoquery1.Open;
while not ADOQUERY1.Eof do begin
ListBox3.Items.Add(ADOQUERY1.FieldByName('urunler').AsString);
ADOQUERY1.Next;
end;
end;
procedure TForm1.ListBox3Click(Sender: TObject);
var
i: integer ;
begin
i:= listbox3.ItemIndex;
adoquery1.SQL.Clear;
adoquery1.sql.Add('select cesitler from urun where urunler='''+listbox3.Items.Strings[i]+''' group by cesitler ');
adoquery1.Open;
while not ADOQUERY1.Eof do begin
ListBox4.Items.Add(ADOQUERY1.FieldByName('cesitler').AsString);
ADOQUERY1.Next;
end;
end;
end.
Ancak size tavsiyem listbox kullanmayın. combobox bu iş için daha ideal.
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Nice elbiseler gördüm içinde insan yok.
:(
Üstad allah senden razı olsun ellerine yüreğine emeğine sağlık çok teşekkürederim.
Yüzsüzlük demessen bir soru daha sorabilirmiyim sana mesela önce bi ürünün marka ve çeşitlerini listeledim sonrada hemen başka bi ürünün marka ve çeşitlerini listeledim benim ricam ilk listelediklerim kaybolabilirmi birde ben denedim ama yapamadım kayıt giremedim sakın ban kızmayın daha çok acemiyim şimdiden allah razı olsun hakkınızı helal edin....Saygılarımla
(üstad kayıt işlemi tamamda hani listeyi yenileme gibi birşey varmı tableyide query de refresh ledim ama olmuyor hata veriyor birde
birde aynı mantıkla ben tabloya yeni alanlar ekleyebilirmiyim)
Yüzsüzlük demessen bir soru daha sorabilirmiyim sana mesela önce bi ürünün marka ve çeşitlerini listeledim sonrada hemen başka bi ürünün marka ve çeşitlerini listeledim benim ricam ilk listelediklerim kaybolabilirmi birde ben denedim ama yapamadım kayıt giremedim sakın ban kızmayın daha çok acemiyim şimdiden allah razı olsun hakkınızı helal edin....Saygılarımla
(üstad kayıt işlemi tamamda hani listeyi yenileme gibi birşey varmı tableyide query de refresh ledim ama olmuyor hata veriyor birde
birde aynı mantıkla ben tabloya yeni alanlar ekleyebilirmiyim)
Re: :(
Kullandığın bileşen bir dblistbox değil bu yüzden kayıt ekleme,silme,güncelleme yaptıktan sonra liste güncellenmez. Eğer yukarıda arkadaşın verdiği kodları kullanacaksan ki kullanmış ve beğenmişsin bunları bir procedure yazıp içerisine sırayla ekleyeceksin. Her işlem sonunda da o procedure ü çağıracaksın. Kolay gelsinekw@tor yazdı: (üstad kayıt işlemi tamamda hani listeyi yenileme gibi birşey varmı tableyide query de refresh ledim ama olmuyor hata veriyor birde
birde aynı mantıkla ben tabloya yeni alanlar ekleyebilirmiyim)
Anlatırsanız unuturum,
Gösterirseniz hatırlarım,
Yaptırırsanız anlarım.
Gösterirseniz hatırlarım,
Yaptırırsanız anlarım.