combobox1'e veritabanından veri atmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

combobox1'e veritabanından veri atmak

Mesaj gönderen AliRiza »

Combobox1'e formun showunda veritabanından veriyi aşağıdaki gibi atıyorum.Elist error List index out of bounds diye bir hata ile karşılaşıyorum.Sebebi nedir?Yardımlarınızı bekliyorum..
adoquery2.sql.Clear;
adoquery2.close;
adoquery2.SQL.Add('select group from group1 order by grid');
adoquery2.Open;
while not adoquery2.Eof do
begin
combobox1.Items.Add(adoquery2.Fields[0].value);
adoquery2.Next;
end;
combobox1.ItemIndex:=0;
adoquery2.Parameters[0].Value:=combobox1.Items[0];
adoquery2.Open;
end;
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
kodlarını code tagı içerisinie alırsan daha okunaklı olur.

Tablonda kayıt varmı.
eğer tabloda kayıt yoksa comboboxa item eklemediği için items[0] hata döndürecektir.

ya tabloda kayıt kontrolu yapacaksıni yada trty except ile kontrol edeceksin.
bir ihtimalde adoquery nin parametresi varmı?

Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Tabloda kayıt var

Mesaj gönderen AliRiza »

Tabloda kayıt var dbgrid'e listeleyebiliyorum.Şu hatayı lütfen çözelim..
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Kod: Tümünü seç

adoquery2.Parameters[0].Value
Sanırım hatayı bu verdiriyor. Parametren var mı?
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Satir satir islettignizde hatayi nerede veriyor?
Hatayi verdigi yerde ekrana Combobox1.items.count degerini showmessage ile gosterin mesela. Muhtemelen ya hic kayit yok ya da ulasmak istediginiz item yok... Bu hata mesajının tek sebebi budur zira....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Naile hanımın dediği gibi Queryinde bir parametre belirtmemişsin ki, nerden bilecek ?
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

sanırım baska bir query ye parametre olarak gonderecektin
adoquery3 gibi,yoksa parametre kullansan bile ne ise yarayacak anlamadım dogrusu, query zaten open edilmis.
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Re: combobox1'e veritabanından veri atmak

Mesaj gönderen Fatih! »

AliRiza yazdı:adoquery2.sql.Clear;
adoquery2.close;
end;
query önce close sonra clear yapıllmalı
algorian
Üye
Mesajlar: 20
Kayıt: 24 Kas 2004 10:54

Mesaj gönderen algorian »

Kod: Tümünü seç

adoquery2.close; 
adoquery2.sql.Clear; 
adoquery2.SQL.Add('select group from group1 order by grid'); 
adoquery2.Open; 
adoquery2.first; // bu önemli !!!
while not adoquery2.Eof do 
begin 
  combobox1.Items.Add(adoquery2.Fields[0].value); 
  adoquery2.Next; 
end;
if  combobox1.ItemCount > 0 then
begin
  combobox1.ItemIndex:=0; 
  adoquery2.Parameters[0].Value:=combobox1.Items[0]; 
  adoquery2.Open;
end;
end;
[/code]

Bir de bunu dene...
Cevapla