AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FOR XML Query

Ein Thema von Stevie · begonnen am 11. Dez 2008 · letzter Beitrag vom 12. Dez 2008
Antwort Antwort
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.009 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

FOR XML Query

  Alt 11. Dez 2008, 16:00
Datenbank: SQL Server • Version: 2005 • Zugriff über: ADO (NativeClient und/oder OLE DB)
Hallo,

ich habe folgendes Problem:
Wenn ich eine DB-Abfrage mit der "FOR XML AUTO, ELEMENTS"-Klausel über eine TADOQuery von meiner SQL Server 2005 DB durchführe erhalte ich in meinem Ergebnis nicht den erwarteten XML-String (so wie ich ihn über das Management Studio sehen kann), sondern eine etwas cryptisch anmutende Zeichenfolge (teilweise scheinbar UTF-8, da dort jedes 2. Zeichen #0 ist). Es sind aber weder xml Tags vorhanden, noch ist die Struktur so, wie ich sie im Management Studio sehe, wenn ich dort diese Abfrage ausführe. Eine Suche in den Weiten des Internets hat bisher nichts erfolgreiches gebracht - hat evtl hier jemand eine Idee, wie ich Delphi bzw der ADO Query beibringe, mir den xml string zurückzuliefern?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: FOR XML Query

  Alt 11. Dez 2008, 16:20
Sind deine Spalten n(var)chars oder nur (var)chars? MS hatte schon öfters Probleme mit Nicht n-Char-Spalten.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.009 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: FOR XML Query

  Alt 12. Dez 2008, 12:52
Habs sowohl mit varchar als auch mit nvarchar getestet, beides erfolglos.
Hier einmal die Abfrage:
SQL-Code:
select cat.catname, prod.productname
from categories cat join products prod on catid = productcat
for xml auto, elements
Dies ist der xml Text, den mir Management Studio anzeigt:
XML-Code:
<cat>
  <catname>ASP</catname>
  <prod>
    <productname>Learning ASP in 24 hours version 1</productname>
  </prod>
  <prod>
    <productname>ASP and SQL 2000: The power to develop</productname>
  </prod>
</cat>
<cat>
  <catname>VB.NET</catname>
  <prod>
    <productname>Beginners guide to eCommerce with ASP and XML</productname>
  </prod>
  <prod>
    <productname>Exploring VB.NET Beta 2</productname>
  </prod>
</cat>
<cat>
  <catname>C#.NET</catname>
  <prod>
    <productname>Migrating from C++ to C#</productname>
  </prod>
</cat>
Und das kommt raus, wenn ichs über die ADOQuery abfrage (aus dem Debug Inspector kopiert):

- mit nvarchar Feldern:
Code:
'D'#7'c'#0'a'#0't'#0'n'#0'a'#0'm'#0'e'#0'D'#$B'p'#0'r'#0'o'#0'd'#0'u'#0'c'#0't'#0'n'#0'a'#0'm'#0'e'#0'D'#3'c'#0'a'#0't'#0'D'#4'p'#0'r'#0'o'#0'd'#0#1#3'A'#1#1'A'#3#$11#6#0'A'#0'S'#0'P'#0''#1#1#4'A'#1#2'A'#3#$11'D'#0'L'#0'e'#0'a'#0'r'#0'n'#0'i'#0'n'#0'g'#0' '#0'A'#0'S'#0'P'#0' '#0'i'#0'n'#0' '#0'2'#0'4'#0' '#0'h'#0'o'#0'u'#0'r'#0's'#0' '#0'v'#0'e'#0'r'#0's'#0'i'#0'o'#0'n'#0' '#0'1'#0''#2''#4#1#4'A'#1#2'A'#3#$11'L'#0'A'#0'S'#0'P'#0' '#0'a'#0'n'#0'd'#0' '#0'S'#0'Q'#0'L'#0' '#0'2'#0'0'#0'0'#0'0'#0':'#0' '#0'T'#0'h'#0'e'#0' '#0'p'#0'o'#0'w'#0'e'#0'r'#0' '#0't'#0'o'#0' '#0'd'#0'e'#0'v'#0'e'#0'l'#0'o'#0'p'#0''#2''#4''#3#1#3'A'#1#1'A'#3#$11#$C#0'V'#0'B'#0'.'#0'N'#0'E'#0'T'#0''#1#1#4'A'#1#2'A'#3#$11'Z'#0'B'#0'e'#0'g'#0'i'#0'n'#0'n'#0'e'#0'r'#0's'#0' '#0'g'#0'u'#0'i'#0'd'#0'e'#0' '#0't'#0'o'#0' '#0'e'#0'C'#0'o'#0'm'#0'm'#0'e'#0'r'#0'c'#0'e'#0' '#0'w'#0'i'#0't'#0'h'#0' '#0'A'#0'S'#0'P'#0' '#0'a'#0'n'#0'd'#0' '#0'X'#0'M'#0'L'#0''#2''#4#1#4'A'#1#2'A'#3#$11'.'#0'E'#0'x'#0'p'#0'l'#0'o'#0'r'#0'i'#0'n'#0'g'#0' '#0'V'#0'B'#0'.'#0'N'#0'E'#0'T'#0' '#0'B'#0'e'#0't'#0'a'#0' '#0'2'#0''#2''#4''#3#1#3'A'#1#1'A'#3#$11#$C#0'C'#0'#'#0'.'#0'N'#0'E'#0'T'#0''#1#1#4'A'#1#2'A'#3#$11'0'#0'M'#0'i'#0'g'#0'r'#0'a'#0't'#0'i'#0'n'#0'g'#0' '#0'f'#0'r'#0'o'#0'm'#0' '#0'C'#0'+'#0'+'#0' '#0't'#0'o'#0' '#0'C'#0'#'#0''#2''#4''#3
- mit varchar Feldern:
Code:
'D'#7'c'#0'a'#0't'#0'n'#0'a'#0'm'#0'e'#0'D'#$B'p'#0'r'#0'o'#0'd'#0'u'#0'c'#0't'#0'n'#0'a'#0'm'#0'e'#0'D'#3'c'#0'a'#0't'#0'D'#4'p'#0'r'#0'o'#0'd'#0#1#3'A'#1#1'A'#3#$10'ä'#4#0#0#3#0'ASP'#1#1#4'A'#1#2'A'#3#$10'ä'#4#0#0'"'#0'Learning ASP in 24 hours version 1'#2''#4#1#4'A'#1#2'A'#3#$10'ä'#4#0#0'&'#0'ASP and SQL 2000: The power to develop'#2''#4''#3#1#3'A'#1#1'A'#3#$10'ä'#4#0#0#6#0'VB.NET'#1#1#4'A'#1#2'A'#3#$10'ä'#4#0#0'-'#0'Beginners guide to eCommerce with ASP and XML'#2''#4#1#4'A'#1#2'A'#3#$10'ä'#4#0#0#$17#0'Exploring VB.NET Beta 2'#2''#4''#3#1#3'A'#1#1'A'#3#$10'ä'#4#0#0#6#0'C#.NET'#1#1#4'A'#1#2'A'#3#$10'ä'#4#0#0#$18#0'Migrating from C++ to C#'#2''#4''#3
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz