![]() |
Datenbank: SQL Server • Version: 2005 • Zugriff über: ADO (NativeClient und/oder OLE DB)
FOR XML Query
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? |
Re: FOR XML Query
Sind deine Spalten n(var)chars oder nur (var)chars? MS hatte schon öfters Probleme mit Nicht n-Char-Spalten.
|
Re: FOR XML Query
Habs sowohl mit varchar als auch mit nvarchar getestet, beides erfolglos.
Hier einmal die Abfrage:
SQL-Code:
Dies ist der xml Text, den mir Management Studio anzeigt:
select cat.catname, prod.productname
from categories cat join products prod on catid = productcat for xml auto, elements
XML-Code:
Und das kommt raus, wenn ichs über die ADOQuery abfrage (aus dem Debug Inspector kopiert):
<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> - mit nvarchar Feldern:
Code:
- mit varchar Feldern:
'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
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
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz