bu sql kodda hata veriyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

bu sql kodda hata veriyor

Mesaj gönderen selman »

Kod: Tümünü seç

Var
   Toplam : LongInt;

begin

   form1.Query2.Close;
   form1.Query2.Params[0].AsString:=DbLookUpComboBox1.Text;
   form1.Query2.Open;
   form1.Query2.First;
   form1.Table2.First;
   While not form1.Query2.Eof do
   Begin
      If form1.Query2.Text<>'' Then
         Toplam := Toplam + StrToInt(form1.Query2BAKIYE.Text);
      form1.Query2.Next;
   End;
   Edit1.Text:=IntToStr(Toplam);
Yazdığım bu kodu dblookup combox a yazdım ve fakat
list index of bounds(0) hatası ile karşılaştım ben kodlama ile herhangi bir isim girdiğim zaman o müşterinin borçlarını görmek amacım
Yardımlarınız için şimdiden teşekkürler
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

query icinde ki sql ne?
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

open dan önce prepare yokmu? yoksa gerekmiyok :?:

birde niye queryde :ara sum kullanmıyorsun? tam anlamadım mantığını?
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

Şimdi ben normal birQuery demi select Sum(Bakıye) from mis mi yazmam gerekiyoo yoksa işlem yaptığım dbloookupcambobox damı
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

http://www.delphiturkiye.com/index.php?page=dbsql.htm

:idea:
SUM: Seçilen değerlerin toplamını bulur. İşçilerin aldığı toplam ücreti görmek için

SELECT SUM(UCRET)
FROM ISCI
:idea:
WHERE: Tablodan eğer tüm kayıtları değilde istediğimiz bazı kayıtları elde etmek istiyorsak, örnekte maaşı 250 milyondan fazla olan işçilerin numarası ve adi gibi, o zaman buraya istediğimiz kriteri yazarız.

SELECT ISCI_NO, ISCI_ADI
FROM ISCI
WHERE MAAS>250000000
konuyla ilgili çok örnek var :ara sum diye araman yaterli
.-.-.-.-.-.-.-. ^_^
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,
mege yazdı:open dan önce prepare yokmu? yoksa gerekmiyok :?:
Ben bunun ile ilgili bir şey söylemek istedim :) Ben hiç kullanmam Prepare'i ve problem de çıkarmaz. Zaten Unprepare'i otomatik olarak kendi yapıyor.

Prepare programın performansını arttırmak için kullanılır ama bizim yaptığımız işlerde öyle çok da ihtiyaç duyulacak bir şey değil.

Prepare ile biz, BDE ve Server'a bak ben birazdan böyle bir query göndereceğim, ona göre kendi kaynaklarını hazır et ve beni oyalama demiş oluyoruz. Bunun yanında close ettikten sonra da Unprepare etmek gerekiyor ki, hem BDE hem de Server kaynaklarını boşaltsın diye. Aynı zamanda memory managementını da rahatlatmış oluyoruz.

Ancak koca koca projelerde bile sistem kaynaklarını zorlayacak düzeyde queryler az yazılır ve bu query'ler de öyle zırt pırt çağrılmaz.

Bu daha çok hem kastırıcı hem de sistem kaynaklarını zorlayan işlemlerde kullanılırsa daha efektif olur. Aksi takdirde open etmeden önce, prepare et diye ayrıca iş göndermiş oluyoruz.

Kanaatimce kullanımı doğru ama çok da gerekli bir şey değil. Zaten hem server hem de BDE bu işi Query eline ulaştığında yapmak zorunda biz bir de fazladan ona hazırlan dememize gerk bırakmıyorlar sağolsunlar :)


Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Cevapla