Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Xml okumada hata
#1
<?xml version="1.0" encoding="UTF-8"?>
<report>
   <executeSQL><![CDATA[SELECT * FROM STOK S
JOIN ##DEPO_ENVANTERI_65764 E ON (E.BLSTKODU=S.BLKODU AND USERID=65764) WHERE S.BLKODU > 0
]]></executeSQL>
   <totalTime>33765 ms.</totalTime>
<table>
<row>
<BLKODU><![CDATA[11]]></BLKODU>
<STOKKODU><![CDATA[2700011]]></STOKKODU>
<STOK_ADI><![CDATA[TUZLU İRİ SİVRİ NEVŞEHİR KABAK]]></STOK_ADI>
<MIKTAR_KALAN><![CDATA[-12]]></MIKTAR_KALAN>
</row>
<row>
<BLKODU><![CDATA[11]]></BLKODU>
<STOKKODU><![CDATA[2700011]]></STOKKODU>
<STOK_ADI><![CDATA[TUZLU İRİ SİVRİ NEVŞEHİR KABAK]]></STOK_ADI>
<MIKTAR_KALAN><![CDATA[0]]></MIKTAR_KALAN>
</row>
<row>
<BLKODU><![CDATA[11]]></BLKODU>
<STOKKODU><![CDATA[2700011]]></STOKKODU>
<STOK_ADI><![CDATA[TUZLU İRİ SİVRİ NEVŞEHİR KABAK]]></STOK_ADI>
<MIKTAR_KALAN><![CDATA[-6]]></MIKTAR_KALAN>
</row>
</table>
</report>

procedure TForm5.Button1Click(Sender: TObject);
var
  StartItemNode, ANode : IXMLNode;
  sBLKODU, sSTOKKODU, sSTOK_ADI, sMIKTAR_KALAN : widestring;
begin
  XMLDocument1.Active:=False;
  XMLDocument1.FileName := 'D:\depoenvanter.xml';
  XMLDocument1.Active:=True;
  StartItemNode := XMLDocument1.DocumentElement.ChildNodes.First.ChildNodes.FindNode('row');
  ANode := StartItemNode;
  repeat
    sBLKODU := UTF8Decode(ANode.ChildNodes['BLKODU'].Text);
    sSTOKKODU  := UTF8Decode(ANode.ChildNodes['STOKKODU'].Text);
    sSTOK_ADI  := UTF8Decode(ANode.ChildNodes['STOK_ADI'].Text);
    sMIKTAR_KALAN := UTF8Decode(ANode.ChildNodes['MIKTAR_KALAN'].Text);
    ListBox1.Items.Add(sBLKODU+' - '+sSTOKKODU +' - '+sSTOK_ADI+'-'+sMIKTAR_KALAN);
    ANode  := ANode.NextSibling;
  until ANode = nil;
end;

Yukarıda verdiğim xml ve kod ile verileri çekerken hata alıyorum. fakat xml dosyasında bulunana 
executeSQL><![CDATA[SELECT * FROM STOK S
JOIN ##DEPO_ENVANTERI_65764 E ON (E.BLSTKODU=S.BLKODU AND USERID=65764) WHERE S.BLKODU > 0
]]></executeSQL>

  <totalTime>33765 ms.</totalTime>
bu alanı çıkarttığım zaman sorunsuz verileri çekebilmekteyim.  Bu alanlara ihtiyacım yok bu alanlar için neden hata veriyor anlamış da değilim exe hatası veriyor.
Faydalanılmayan bilgi, harcanmayan ve hiç kimseye hayrı dokunmayan define gibidir.

Hz. Muhammed (sav.)
Cevapla
#2
Arkadaşlar bir çok şey denedim ama sorunu haala çözemedim ChildNodes dan kaynaklı gibi geliyor sürekli onun üzerinde araştırma yapıyorum ama çözüm bulamadım.

Yardımcı olabilecek birisi varmıdır acaba
Faydalanılmayan bilgi, harcanmayan ve hiç kimseye hayrı dokunmayan define gibidir.

Hz. Muhammed (sav.)
Cevapla
#3
(15-12-2019, Saat: 03:49)KUNTAY Adlı Kullanıcıdan Alıntı:
<?xml version="1.0" encoding="UTF-8"?>
<report>
   <executeSQL><![CDATA[SELECT * FROM STOK S
JOIN ##DEPO_ENVANTERI_65764 E ON (E.BLSTKODU=S.BLKODU AND USERID=65764) WHERE S.BLKODU > 0
]]></executeSQL>
   <totalTime>33765 ms.</totalTime>
<table>
<row>
<BLKODU><![CDATA[11]]></BLKODU>
<STOKKODU><![CDATA[2700011]]></STOKKODU>
<STOK_ADI><![CDATA[TUZLU İRİ SİVRİ NEVŞEHİR KABAK]]></STOK_ADI>
<MIKTAR_KALAN><![CDATA[-12]]></MIKTAR_KALAN>
</row>
<row>
<BLKODU><![CDATA[11]]></BLKODU>
<STOKKODU><![CDATA[2700011]]></STOKKODU>
<STOK_ADI><![CDATA[TUZLU İRİ SİVRİ NEVŞEHİR KABAK]]></STOK_ADI>
<MIKTAR_KALAN><![CDATA[0]]></MIKTAR_KALAN>
</row>
<row>
<BLKODU><![CDATA[11]]></BLKODU>
<STOKKODU><![CDATA[2700011]]></STOKKODU>
<STOK_ADI><![CDATA[TUZLU İRİ SİVRİ NEVŞEHİR KABAK]]></STOK_ADI>
<MIKTAR_KALAN><![CDATA[-6]]></MIKTAR_KALAN>
</row>
</table>
</report>

procedure TForm5.Button1Click(Sender: TObject);
var
  StartItemNode, ANode : IXMLNode;
  sBLKODU, sSTOKKODU, sSTOK_ADI, sMIKTAR_KALAN : widestring;
begin
  XMLDocument1.Active:=False;
  XMLDocument1.FileName := 'D:\depoenvanter.xml';
  XMLDocument1.Active:=True;
  StartItemNode := XMLDocument1.DocumentElement.ChildNodes.First.ChildNodes.FindNode('row');
  ANode := StartItemNode;
  repeat
    sBLKODU := UTF8Decode(ANode.ChildNodes['BLKODU'].Text);
    sSTOKKODU  := UTF8Decode(ANode.ChildNodes['STOKKODU'].Text);
    sSTOK_ADI  := UTF8Decode(ANode.ChildNodes['STOK_ADI'].Text);
    sMIKTAR_KALAN := UTF8Decode(ANode.ChildNodes['MIKTAR_KALAN'].Text);
    ListBox1.Items.Add(sBLKODU+' - '+sSTOKKODU +' - '+sSTOK_ADI+'-'+sMIKTAR_KALAN);
    ANode  := ANode.NextSibling;
  until ANode = nil;
end;

Yukarıda verdiğim xml ve kod ile verileri çekerken hata alıyorum. fakat xml dosyasında bulunana 
executeSQL><![CDATA[SELECT * FROM STOK S
JOIN ##DEPO_ENVANTERI_65764 E ON (E.BLSTKODU=S.BLKODU AND USERID=65764) WHERE S.BLKODU > 0
]]></executeSQL>

  <totalTime>33765 ms.</totalTime>
bu alanı çıkarttığım zaman sorunsuz verileri çekebilmekteyim.  Bu alanlara ihtiyacım yok bu alanlar için neden hata veriyor anlamış da değilim exe hatası veriyor.

Merhabalar,

Umarım işinize yarar.

StartItemNode := XMLDocument1.DocumentElement.ChildNodes.Last.ChildNodes.FindNode('row');

UTF8Decode kullanınca türkçe karakter hatası veriyor (Ekrana yazarken!).
Kaldıra bilirsiniz veya onun yerine UTF8String kullanabilirsiniz.

   

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Değişik bir hata ikurt07 2 197 30-03-2024, Saat: 14:34
Son Yorum: ikurt07
  Rest Hata Yakalama m_ekici 9 1.553 08-03-2024, Saat: 19:30
Son Yorum: aegean
  Tanım Bulamadım Bu Hata İçin hi_selamlar 11 1.448 30-10-2023, Saat: 18:20
Son Yorum: hi_selamlar
  delphi de garip bir hata ercanskose 11 1.582 26-07-2023, Saat: 12:00
Son Yorum: delphiman
  UniDBGridColumnFilter Release Modda Hata veriyor yhackup 18 2.691 19-01-2023, Saat: 10:29
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi