Problema con DB
-
salve.Non riesco a capire come interagire con il contenuto di un database...se per esmpio avessi un DB con dentro una tabella chiamata "tabella" con vari campi tra cui uno che contiene URL a file che ho in locale sul PC...come faccio a recuperare la path del file che ho all'interno del campo del DB?e in generale..come faccio poi ad interagire con il campo estrato? ad esempio, se il mio fosse un percorso a file, come dovrei fare per aprire il file con l'applicazione predefinita?(mettiamo sia un immagine).
Se riusciste a darmi qualche snippet ve ne sarei grato
-
ok fatto...grazie per le indicazioni...
adesso sono però di fronte ad un problema credo molto più complesso e senza aiuto non ne caverò nulla.
Vi descrivo la mia struttura dati prima di esporvi il problema:
Ho un DB e una tabella all'internotabella
campo1 | campo2 | campo3
A | B | C
D | E | FQuello che vorrei provare a fare è costruire una tree view a partire dai dati del DB che abbia il seguente aspetto:
A
|___>BD
|___>Eecc..
da dove comincio??io avevo pensato di fare così:
mandare in output con una tableview il contenuto del db...ma poi, c'è un modo per generare automaticamente padri e figli dell'albero a partire dal contenuto dei vari campi della tabella?
Grazie a tutti anticipatamente
-
per fare una cosa del genere, dovresti aggiungere un campo che rappresenta il padre diretto del record.
Fatto questo puoi interagire in modo ricorsivo e al suo interno usi SQL con ricerca in LIKE lato destro (che è la parte che cresce) usando il campo padre diretto:NomeNodo | Padre
A | NULL //root
B | A| // B è figlio di A
C | A|B| // C è figlio di B che è figlio di A
D | A|B|C| // D è figlio di C che è figlio di B che è figlio di ANel tuo caso è più importante la strutturazione iniziale dei record: il lavoro successivo è al quanto semplice.
un esenpio di SQL sarà:
//
// chi sono i figli di...:
function buildtree(padre) {
var padre = padre + "|_"; // padre in ricorsione sarà A| -> A|B| e così via...SELECT NomeNodo FROM TreeViewTable WHERE Padre LIKE padre;
}Ad esempio se il parametro della funzione è uguale a "A|B|"
la SQL sarà: SELECT NomeNodo FROM TreeViewTable WHERE Padre LIKE 'A|B|_'
che signfica prendi tutti quelli che hanno padre che inizia con "A|B|" e un qualsiasi carattere (nell'esempio solo A|B|C|)
Più o meno è questo quello che dovresti fare e che io feci una decina di anni fa quindi scusami ma non ricordo tutto :-)