Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-06-2008, 16:45   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[VB.Net]Insert into.... xml

Ciao a tutti

Sto cercando un modo per inserire dei dati originati dall'inserimento di valori provenienti da un form in un file xml.

Cioè, dovrei fare:

1) Inserisci i valori in file xml
2) Se tutto è andato bene, inserisci i dati dall'xml nel database.

In pratica, una sorta di tabella/e temporanea/e dove far transitare i dati prima di inserirli sul db.

Questo per evitare l'uso di tabelle temporanee in un db di tipo access.

Grazie a tutti.

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 13:37   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Io utilizzo questa procedura :
Poniamo tu abbia una semplice Form con 2 TextBox - txt_Nome e txt_Cognome e debba gestire un semplice elenco di "Persone" :

1. Questo codice crea il file XML iniziale :

Codice:
        Dim ScriviXML As XmlTextWriter
        ScriviXML = New XmlTextWriter("C:\FILE.XML", Nothing)

        ScriviXML.WriteStartDocument()

        ScriviXML.WriteStartElement("Persone")

        ScriviXML.WriteEndElement()

        ScriviXML.WriteEndDocument()

        ScriviXML.Close()
Dove "Persone" è chiaramente la Root del doc.
Nota che se il file FILE.XML è già presente e non vuoto questa operazione lo sovrascriverà. Va eseguita una sola volta, o in ogni occasione si voglia resettare il file-serbatoio...
Se invece non esiste, lo creerà da zero.

2. Questo invece lo puoi associare ad ogni Click di un pulsante "Applica", quando tutti i campi della Form sono pronti all'invio :

Codice:
        Dim TempXML As New XmlDocument()
        TempXML.Load("C:\FILE.XML")

        Dim Persona As XmlElement = TempXML.CreateElement("Persona")
        TempXML.DocumentElement.AppendChild(Persona)

        Dim Nome As XmlElement = TempXML.CreateElement("Nome")
        Nome.InnerText = txt_Nome.Text
        Persona.AppendChild(Nome)

        Dim Cognome As XmlElement = TempXML.CreateElement("Cognome")
        Cognome.InnerText = txt_Cognome.Text
        Persona.AppendChild(Cognome)

        TempXML.Save("C:\FILE.XML")
Perciò ogni Click in pratica esegue una INSERT nel file XML preesistente.

Per l'upload verso DB ci sono varie tecniche possibili, intanto prova questo.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 13:52   #3
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
fatti un favore e passa a .net 3.5

Codice:
Dim contacts As XElement = _
            <contacts>
                <contact contactId="2">
                    <firstName>Barry</firstName>
                    <lastName>Gottshall</lastName>
                </contact>
                <contact contactId="3">
                    <firstName>Armando</firstName>
                    <lastName>Valdes</lastName>
                </contact>
            </contacts>
basta quindi aggiungerlo ad un XDocument e chiamare il metodo save passandogli il nome del file ed hai finito

http://www.hookedonlinq.com/LINQtoXM...eOverview.ashx
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 14:03   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
fatti un favore e passa a .net 3.5
Bravo. Ma lui non ha parlato di Framework 3.5.
Se stesse usando VB.NET 2001 ?
Il mio metodo funziona anche con Framework 1.0.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 14:26   #5
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Bravo. Ma lui non ha parlato di Framework 3.5.
Se stesse usando VB.NET 2001 ?
Il mio metodo funziona anche con Framework 1.0.
Ma io so già che sta usando il framework 2.0

E' che lo voglio istigare a passare all'ultima versione che semplifica NOTEVOLMENTE le cose in diversi ambiti, soprattutto quando hai a che fare con la manipolazione dei dati e con gli XML
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 14:44   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
Ma io so già che sta usando il framework 2.0

E' che lo voglio istigare a passare all'ultima versione che semplifica NOTEVOLMENTE le cose in diversi ambiti, soprattutto quando hai a che fare con la manipolazione dei dati e con gli XML
Io invece non lo sapevo.
Se uno mi chiede .NET gli passo la soluzione più compatibile e generica...
Mi ritornano in mente un paio di esperienze tragiche ( quando ti viene imposto dall'alto il COSA, il COME, e CON_CHE_STRUMENTI lo devi fare ).
Sai quante volte ho istigato io... E invece...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 14:48   #7
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Io invece non lo sapevo.
Se uno mi chiede .NET gli passo la soluzione più compatibile e generica...
Mi ritornano in mente un paio di esperienze tragiche ( quando ti viene imposto dall'alto il COSA, il COME, e CON_CHE_STRUMENTI lo devi fare ).
Sai quante volte ho istigato io... E invece...
pure a me tornano in mente certe esperienze oscene
Però alla fine rompendo le palle n volte a chi di dovere, dopo che ti manda a cacare n-1 volte, di solito qualcosina si muove.....
Per raoul ovviamente non ho idea come sia la sua situazione, ma se può rompere le balle in tal senso non fa mai male
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2008, 16:36   #8
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Grazie ad entrambi

Come già sa TigerShark, sto usando il .NET 2.0 e, almeno per il momento, non posso passare ad altro e non per mia volontà

Devo dire comunque che ho dovuto abbandonare quest'idea perchè le persone interessate non l'hanno accettata.

Io volevo fare questo:

L'applicazione, prevede l'inserimento di più dati in diverse tabelle, e quest'inserimento non è detto che si concluda in una sola volta ma può avvenire in più riprese.

Perciò avevo proposto di inserire i dati temporanei in file xml, e solo alla fine di tutti i vari inserimenti, prendere i dati e passarli sul db.

E' un pò la stessa logica delle tabelle temporanee.

Anche questa però, secondo la mia modestissima esperienza, non è praticabile considerando che il db è un file access 2000.

Le persone in oggetto quindi, hanno preferito intraprendere la strada del delete, update e re-insert ogni volta che si riapre l'applicazione.

Questo non significa che non ho tratto tesoro da i vostri suggerimenti.

Davvero grazie !

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2008, 09:42   #9
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
sto usando il .NET 2.0 e, almeno per il momento, non posso passare ad altro e non per mia volontà

Devo dire comunque che ho dovuto abbandonare quest'idea perchè le persone interessate non l'hanno accettata.
...
E' un classico...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Alcune varianti dei futuri Samsung Galax...
Il ridimensionamento di OnePlus in Europ...
Il cofondatore di Netflix ha lasciato l'...
ASUS porta in Italia il nuovo Zenbook Du...
Assassin's Creed: Black Flag Resynced, s...
Xbox Game Pass cambierà: tra le n...
I nuovi Surface Pro e Laptop sono vicini...
OnePlus ci riprova con la fascia bassa: ...
La Top 10 delle offerte Amazon del weeke...
XGIMI MoGo 2 Pro a 339€: Google TV con N...
Forum IT & Intelligence 2026: dall'A...
iPhone 16e per la prima volta a meno di ...
Stop Killing Games: Ross Scott convince ...
Annunciata la tuta di volo di Vast che s...
Vast presenta il nuovo Large Docking Ada...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:42.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v