accessten delphiye veri aktarımında hata.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ayseonat
Üye
Mesajlar: 58
Kayıt: 17 Ara 2004 12:18
Konum: Konya

accessten delphiye veri aktarımında hata.

Mesaj gönderen ayseonat »

Merhaba arkadaşlar. öncelikle hepinize ii çalışmalar dilerim.

Benim delphi ve access veritabanıyla yapmış olduğum bi projem var. access veritabanındaki alanlarım arasında P08 die bir alan var. bu alan string ve içerisinde nümerik bilgiler var. fakat bazı alanlarda ... die bilgiler var. ben bu ... bilgiye göre programımı yönlendirmek istiyorum.

Kod: Tümünü seç

var 
sayi08:string;
begin
goruntule.First; // kullandığım query
 while not goruntule.Eof do
 begin
 sayi08:=(goruntuleP08.asstring); 
  if (sayi08<>'...') then
  begin
     islemler; // yapmam gereken işlemleri yaptığım procedure
  end;
 goruntule.next;
 end;
end;

... 'ları bu şekilde yazıdğım zaman program hiç algılamıyor bunu. ve direk islemler procedure ünü çağırıyor. ...'ları chr(46)+chr(46)+chr(46) olarak yazıyorum yine anlamıyor. yani eğer karşısına ... gelirse işlem devam etmesin diyorum. ama o her seferinde veri tabanından farklı bişey okumuş gibi işlem yapıyor. yani veri tabanından ... ları alırken ... olarak alıyor. fakat işlem yapmaya gelince yapmıyor. bu sorunumu nasıl çözebilirim.

herkese ii çalışmalar.
[/code]
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

bu sorunu

Kod: Tümünü seç

if (sayi08<>'...') then 
satırına breakpoint (f5) koyarak çözebilirsiniz.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

trim(..) kullanmanı tavsiye ederim. alanın boyutu daha uzun ise muhtemelen boşluklar içeriyordur.

Kod: Tümünü seç

 if (trim(sayi08) <> '...') then ... 
aslında sayi08 e atama yaparken başta trim leyebilirsiniz. Daha sonraki karşılaştırmalarda da ayrıca trim lemenize gerek kalmaz :idea:

Kod: Tümünü seç

var
  sayi08:string;
begin
  goruntule.First; // kullandığım query
  while not goruntule.Eof do
  begin
    sayi08 := trim(goruntuleP08.asstring);
    if (sayi08 <> '...') then
    begin
       islemler; // yapmam gereken işlemleri yaptığım procedure
    end;
    goruntule.next;
  end;
end; 
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla