Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med XQuery

Postades av 2008-07-04 18:10:23 - Marcus Wennerberg, i forum databaser, Tråden har 8 Kommentarer och lästs av 1415 personer

Har följande:
<code>
DECLARE @xmlDoc XML, @handle INT, @createid int

SET @xmlDoc = (select Anvandare FROM GamlaAnvandare WHERE id = @id)

EXEC sp_xml_preparedocument @handle OUTPUT, @xmlDoc;


INSERT INTO Anvandare
SELECT * FROM
OPENXML(@handle, '/Anvandare',2)
WITH
(
namn VARCHAR(50) 'NAMN',
anvandarnamn CHAR(15) 'Anv',
)
</code>



Men när jag kör följande får jag felmeddelandet:
XML parsing error: Expression does not return a DOM node.

på raden:
INSERT INTO Anvandare


Hur kan man lösa detta??

Anv: MSSQL


Tacksam för all hjälp


Svara

Sv: Problem med XQuery

Postades av 2008-07-05 20:23:45 - Håkan Borneland

... om jag har fattat det rätt, så krånglar du till det.
Eftersom du nu ska hämta data från en annan tabell behöver du inte "krångla" till det och ta "omvägen" via XML.
Gammal hederlig SQL räcker.
Bygger upp frågan utifrån den tabellstruktur du visat förut.
Förutsätter att dom andra fälten/kolumnerna inte är satta till NOT NULL.
<code>
INSERT INTO anvandare (namn)
SELECT Anvandare FROM GamlaAnvandare WHERE id = @id
</code>
Borde räcka (om jag inte missuppfattat det).

[EDIT]
Såg nu också att du läser ut ett värde från GamlaAnvandare, men försöker att skriva in två till anvandare.
Du får förklara hur du tänkt.

/Håkan


Svara

Sv:Problem med XQuery

Postades av 2008-07-05 23:03:56 - Marcus Wennerberg

ok, har en kolumn i tabellen GamlaAnvandare vid namn Anvandare (XML datatyp). Här ligger användarna sparade med xml-text.
typ
<anvandare>
<namn></namn>
<anvandarnamn></anvandarnamn>
</anvandare>

Nu vill jag hämta ut allt det som står i xml texten o lägga in i tabellen anvandare.

Men när jag kör koden får jag:'
XML parsing error: Expression does not return a DOM node.


Svara

Sv: Problem med XQuery

Postades av 2008-07-06 00:28:32 - Håkan Borneland

... ahaaaa en kolumn med XML datatyp, då blir det något annat.
Pröva detta (har justerat din kod lite grand):

<code>
DECLARE @xmlDoc xml, @handle int, @createid int;

SET @xmlDoc = (SELECT Anvandare FROM GamlaAnvandare WHERE id = @id);

EXEC sp_xml_preparedocument @handle OUTPUT, @xmlDoc;

INSERT INTO Anvandare
SELECT * FROM
OPENXML(@handle, '/anvandare')
WITH
(
namn varchar(50) 'namn',
anvandarnamn char(15) 'anvandarnamn'
);
</code>

/Håkan


Svara

Sv:Problem med XQuery

Postades av 2008-07-14 17:41:53 - Marcus Wennerberg

tack, men det vill inte fungera. Har försökt även försökt med:
<code>

SET @doc = (select anvandare FROM GamlaAnvandare WHERE id = @id)

select
@doc.value('(./NAMN)[1]','varchar(50)'),
@doc.value('(./ROLLID)[1]','INT'),
from @doc.nodes('//ANVÄNDARE/ROLL/RAD') as N(RAD)

</code>

Som den är nu får jag bara ut NULL, har även provat med:
<code>

SET @doc = (select anvandare FROM GamlaAnvandare WHERE id = @id)

select
@doc.value('(//ANVÄNDARE/ROLL/RAD/NAMN)[1]','varchar(50)'),
@doc.value('(//ANVÄNDARE/ROLL/RAD/ROLLID)[1]','INT'),
from @doc.nodes('//ANVÄNDARE/ROLL/RAD') as N(RAD)

</code>

Men den ger samma värde, dvs den hoppar inte ner till nästa RAD.

Vad kan jag ha gjort för fel??


Svara

Sv: Problem med XQuery

Postades av 2008-07-14 20:09:46 - Håkan Borneland

hmmmm jag provade den först och den fungerade utmärkt.
Kopierade du rakt av?
Annars är det något som inte framkom tidigare.

/Håkan


Svara

Sv:Problem med XQuery

Postades av 2008-07-14 20:28:30 - Marcus Wennerberg

japp, provade rakt av, försöker med den andra nu, men får inte fram något, bara NULL. Man utgår väll från @doc.nodes när man ska hämta ut i sqlqct satsen?

har även provat
<code>
SET @doc = (select anvandare FROM GamlaAnvandare WHERE id = @id)

select
@doc.value('(NAMN)[1]','varchar(50)'),
@doc.value('(ROLLID)[1]','INT'),
from @doc.nodes('//ANVÄNDARE/ROLL/RAD') as N(RAD)
</code>

men den ger oxå bara null


Svara

Sv: Problem med XQuery

Postades av 2008-07-14 20:35:03 - Håkan Borneland

Mmmm...
Svaret ligger nog i hur xml filen egentligen ser ut.
Ser att du skrev typ före ditt exempel som jag utgick ifrån.
Stämmer det, eller ser xmlstrukturen annorlunda ut.
Posta den riktiga (hela) här så justerar vi mitt exempel isf.

/Håkan


Svara

Sv:Problem med XQuery

Postades av 2008-07-14 21:05:01 - Marcus Wennerberg

det löste sig.

Skulle inte vara
@doc.value('(ROLLID)[1]','INT'),

utan
N.RAD.value('(ROLLID)[1]','INT'),


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 570
27 958
271 741
5 841
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies