Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [c#] Leggere dataset in c#

    SAlve, sto cercando di costruire una funzione che legga una nota tabella da un file xml e assegni i valori che ne risultano a delle variabili

    Ho un dataset così popolato da un file xml

    codice:
     
               string titolo,t1,testo,pagina;
                pagina = "primisinterparis";
                DataSet ds = new DataSet();
                ds.ReadXml("http://www.justnow.it" + "/dati.xml");
                titolo = ds.Tables[pagina].Rows[0][0];

    in VB.net funzionava così

    codice:
    Dim ds As New DataSet         
    ds.ReadXml("http://justnow.it" & "/dati.xml")         
    titolo = ds.Tables(primisinterparis).Rows(0).Item("titolo")         
    t1 = ds.Tables(primisinterparis).Rows(0).Item("t1")       
     testo = ds.Tables(primisinterparis).Rows(0).Item("testo")
    in questo caso, essendo la tabella primisinterparis con una sola riga, (la riga/row 0 quindi) la variabile titolo avrà come valore "Corsi di formazione professionale ROma per lavorare 2012"

    Come lo traduco in c# visto che sopra mi sono bloccato per un errore di conversione?

    "Errore 3 Impossibile convertire in modo implicito il tipo 'object' in 'string'. È presente una conversione esplicita. Probabile cast mancante. C:\Users\francesco\documents\visual studio 2010\Projects\ecommerce1\ecommerce1\WebForm3.aspx. cs 30 22 ecommerce1"


    Giusto per curiosità : 'primisinterparis è il nome sciocco che ho dato alla home e non un codice di società segrete o altro............ '

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    in c# un object anche se è una stringa va convertito esplicitamente in stringa, anche con il ToString()

    titolo = ds.Tables[pagina].Rows[0].Items[0].ToString()

    oppure

    titolo = (string)ds.Tables[pagina].Rows[0].Items[0]

  3. #3
    Ok grazie 1000.

    Unica cosa a me va con
    titolo = (string)ds.Tables[pagina].Rows[0].ItemArray[0];

    Da cosa dipende il cambio? dalla versione di c#?

  4. #4
    ciao binos,
    no, non dipende dalla versione di C#.

    Sono solo 2 modi diversi per trasformare ricavare la stringa quando la variabile è dichiarata oggetto.

    Il primo metodo è un semplice cast implicito,
    il secondo metodo invece utilizza il metodo "ToString" della classe object, per restituire il valore contenuto come stringa.
    Sono praticamente equivalenti.
    di seguito un semplicissimo esempio.

    codice:
    object o;
    string s;
    
    o = "ciao";
    
    s = o.ToString();
    s = (string)o;

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 © 2024 vBulletin Solutions, Inc. All rights reserved.