Garip bir Kapanma sorunu...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
beyuslu
Üye
Mesajlar: 46
Kayıt: 20 Nis 2009 11:08

Garip bir Kapanma sorunu...

Mesaj gönderen beyuslu »

MErhaba;

projemde Sql databaseime kayıt yaparken 100 kayıt birden girerken 60 veya 70 kayıttan sonra program kendi kendine kapanıyor...acaba aynı anda yapılan coklu kayıttanmı yoksa sql denmi?

Nedir yorumunuz...
Kullanıcı avatarı
doctorfunks
Üye
Mesajlar: 105
Kayıt: 26 Oca 2005 10:37
Konum: İstanbul

Re: Garip bir Kapanma sorunu...

Mesaj gönderen doctorfunks »

Slm
Verileri nasıl kaydediyorsunuz ?
Döngüyle ise loop'a giriyor olabilir
beyuslu
Üye
Mesajlar: 46
Kayıt: 20 Nis 2009 11:08

Re: Garip bir Kapanma sorunu...

Mesaj gönderen beyuslu »

_
En son beyuslu tarafından 04 Haz 2009 09:35 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
beyuslu
Üye
Mesajlar: 46
Kayıt: 20 Nis 2009 11:08

Re: Garip bir Kapanma sorunu...

Mesaj gönderen beyuslu »

Kimse bir yorum yapmayacakmı?
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Garip bir Kapanma sorunu...

Mesaj gönderen mkysoft »

Kullandığınız veri tabanı bileşeninden oluyor büyük ihtimalle. Bende aynı sorunu yaşıyordum bir ara. Kullandığınız companentlerin güncel olduğundan emin olun.
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: Garip bir Kapanma sorunu...

Mesaj gönderen Ertugrul »

-Insert query + Parametre seklinde kayit girin. ( Q1.SQL.Text:='INSERT INTO T (F1,F2) VALUES(:F1,:F2)'; Q.Parameters[0].Value:='A'; Q.ExecSQL; )
-Dongude alanlara FieldByName yerine Fields[0] ya da Table1FieldName.Value seklinde ulasin.
beyuslu
Üye
Mesajlar: 46
Kayıt: 20 Nis 2009 11:08

Re: Garip bir Kapanma sorunu...

Mesaj gönderen beyuslu »

Bu söylediklerinin hepsi ok zaten üstat... söyle söylim..

for a:=0 to memo1.lines.count -1 do
begin

query...insert..into..vs vs

end;

dye gidiyor..

memo list 30 bin mesela.. 10 bine geliyor örnegin 10 binde hata veriyor.. tıkanıyor yani.. nasıl üstesinden gelirim bunun?
beyuslu
Üye
Mesajlar: 46
Kayıt: 20 Nis 2009 11:08

Re: Garip bir Kapanma sorunu...

Mesaj gönderen beyuslu »

Nedir Fikriniz?
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: Garip bir Kapanma sorunu...

Mesaj gönderen Ertugrul »

memo yerine stringlist kullanin.

Kod: Tümünü seç

var
x:TStringList;
i: integer;
begin
  x:=TStringList.Create;
  x.LoadFromFile('A.TXT');
  if Q.Active then
    Q.Close;
  Q.SQL.Text:='INSERT INTO TABLO(EKLENECEKALAN) VALUES(:EKLENECEKALAN)';
  for i:=0 to x.lines.count-1 do
  begin
     Q.Parameters[0].Value:=x[i];
     Q.ExecSQL;
  end;
  FreeAndNil(x);
end;
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Garip bir Kapanma sorunu...

Mesaj gönderen sabanakman »

Liste kullanılacağı zaman üstte Ertugrul'un verdiği örnekteki gibi TStringList sınıfı kullanılmalıdır ki, işlemler çok daha süratli ve sağlam gerçekleşsin. Eğer görsel bileşenlerin özelliği üzerinden bu işlemler takip edilirse listeyi bellekte tutmanın yanı sıra görsel olarak ta bazı işlemler çalışacağından çok daha hantal bir yapı olacaktır. Ayrıca ilk sorudaki hatadan çıkardığım anlam programın bellek kullanımında sorunları var. Bunun gibi başka yerlerde de belleğe yükleniyorsanız kullandığınız yapıya dikkat etmenizi ve daha sağlam ve iyi hale gelecek şekilde elden geçirmenizi öneririm.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Garip bir Kapanma sorunu...

Mesaj gönderen emin_as »

Program çalışırken görev yöneticisini açıp, programın bellek kullanımını incele.

Transaction kullanıyorsan, her 100 kayitta bir transaction u commit et, bu şekilde transaction ın neden olduğu tıkanmaların önüne geçersin.

Insert ettiğin table i kullanan başka componentlar varsa, onları kapalı tutmayı unutma.
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Garip bir Kapanma sorunu...

Mesaj gönderen csunguray »

Bu davranış en çok "Stack overflow" hatalarında meydana geliyor. Büyük ihtimalle kendi kendini çağıran bir fonksiyon söz konusu. Böylece program sonsuz döngüye giriyor ve hazin sonla karşılaşıyorsunuz.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
beyuslu
Üye
Mesajlar: 46
Kayıt: 20 Nis 2009 11:08

Re: Garip bir Kapanma sorunu...

Mesaj gönderen beyuslu »

x.lines.count derken linesi tanımadı delphi??
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Garip bir Kapanma sorunu...

Mesaj gönderen sabanakman »

x'in Lines'ı yok direkt x.count yazarak kullan. Zira her ikisi de TStrings sınıfına karşılık geliyor.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
beyuslu
Üye
Mesajlar: 46
Kayıt: 20 Nis 2009 11:08

Re: Garip bir Kapanma sorunu...

Mesaj gönderen beyuslu »

teşekkür ederim..ÇAlışıyor
Cevapla