Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464

    Insert xml in DB access

    Ragazzi scusate se ritorno sull'argomento ma non sono ancora riuscito a risolvere il problema.

    Come faccio ad inserire questo elenco di dati presi da xml in db?

    senza l'insert legge tutto bene, ma poi non va

    codice:
    ' creo un'istanza dell'oggetto XMLDOM 
    set xmlDom = Server.CreateObject("Msxml2.DOMDocument")
    xmlDom.async = False 
    xmlDom.setProperty "ServerHTTPRequest", True
    
    ' leggo il file 
    xmlDom.Load("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml") 
    
    'importo il namespace del nodo Cube. Questo è importante altrimenti non riuscirei a selezionarlo
    xmlDom.setProperty "SelectionNamespaces", "xmlns:ns='http://www.ecb.int/vocabulary/2002-08-01/eurofxref'"
    'imposto il linguaggio di selezione su XPath, nel caso non fosse già quello di default
    xmlDom.setProperty "SelectionLanguage", "XPath"
    
    ' seleziono qualsiasi nodo <Cube> contenga l'attributo currency
    Dim currNode
    Set currNode = xmlDom.SelectNodes("//ns:Cube[@currency]")
    
    ' ciclo per tutti i nodi <Cube> così ottenuti
    For i = 0 To (currNode.Length - 1) 
      Response.Write "
    
    1.00 € = " 
    
      'Leggo gli attributi rate e currency
      Response.Write currNode(i).GetAttribute("rate") 
      Response.Write " "
      Response.Write currNode(i).GetAttribute("currency")
      Response.Write "</p>" & vbCrLf
    Next
    
    '---Inserisco i codici promo nella tabella cambio
    Dim SQL2, RS2
    SQL2 = "INSERT INTO cambio  (currency ,rate) VALUES ( '"currency"', "rate")"
    Set RS2 = conn.Execute (SQL2) 
    
    Set currNode = Nothing
    Set xmlDom = Nothing
    Grazie

  2. #2
    parti bello, che vuol dire "poi non va"?

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    Grazie, se metto gli apici come sotto



    codice:
    '---Inserisco i codici promo nella tabella cambio
    Dim SQL2, RS2
    SQL2 = "INSERT INTO cambio  (currency ,rate) VALUES ( 'currency', 'rate')"
    Set RS2 = conn.Execute (SQL2)
    mi restituisce prima tutto l'elenco dei cambi e poi questo errore:

    Microsoft JET Database Engine error '80040e14'

    Syntax error in INSERT INTO statement.

    /ita/prova7.asp, line 37

  4. #4
    sono numeri? lo sai che NON devi mettere gli apici e devi *costruire* la stringa di inserimento.

    oppure usa le query parametriche

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    ciao ho provato con apice e senza ma non va.
    riguardo la query non è questa?

    SQL2 = "INSERT INTO cambio (currency ,rate) VALUES ( 'currency', 'rate')"

  6. #6
    Originariamente inviato da Partisan75
    ciao ho provato con apice e senza ma non va.
    riguardo la query non è questa?

    SQL2 = "INSERT INTO cambio (currency ,rate) VALUES ( 'currency', 'rate')"
    evidentemente non mi sono spiegato bene

    la query va *costruita*, così

    SQL2 = "INSERT INTO cambio (currency ,rate) VALUES ( " & currency & ", " & rate & ")"

    sono sicuro che già lo sapevi fare

    ah, da qualche parte devi assegnare dei valori alle variabili currency e rate...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.