Newsgroup: it.comp.lang.visual-basic
Titolo: Esportare da VB in HTML

 
          Scusate!
come si può estrapolare una select da un database e trasformarla in una
pagina HTML? grazie!
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 una pagina HTML? grazie!
Semplicemente prendendo i dati della select e creando un bel for che ti
popola una tabella con i dati che ti interessano:
<table border=1>
<tr>    'nuova riga
<td>valore cella</td>
<td>valore altra cella</th>
</tr>
<tr>    'nuova riga
<td>....
</tr>
</table>
Non è molto difficile da implementare. dipende solo da cosa devi fare e
dalle conoscenze generali di HTML e VB che hai.
bye
-- 
Gestione Ottica - Gestionale per Ottici e Programmi Gratuiti su:
http://www.nicolaottomano.it
Sinapsi Antispam. Antispam Gratuito.
http://www.sinapsi-antispam.tk
http://www.nicolaottomano.it/sinapsi.htm
Ingrosso Orologi.
http://www.supertop.it
email spamtrap: 
spam...@nicolaottomano.it

Ecco una mia implementazione in 
VB.NET
 + ADO (quando 
ADO.NET
 per me era un
miraggio).
Vedi che la routine è estremamente poco elegante (è una delle prime che ho
scritto in .NET), ma funziona.
Private Sub CreaHTML(ByVal Tipo As String, ByVal Linea As String)
Dim sr As New StreamWriter(Application.StartupPath & "\" & Tipo & Linea &
".htm")
Dim sr2 As New StreamWriter(Application.StartupPath & "\" & Tipo & Linea &
".js")
Dim Parte1 As New StreamReader(Application.StartupPath & "\parte1.txt")
Dim Parte2 As New StreamReader(Application.StartupPath & "\parte2.txt")
Dim CodiceHTML, CodiceJS As String
Dim tabellaHTML As New ADODB.Recordset
Dim i, z, k As Integer
Dim Prodotto(0) As Prodotti
Try
CodiceHTML = vbNullString
CodiceHTML = Parte1.ReadToEnd()
Parte1.Close()
Parte1 = Nothing
CodiceHTML = Replace(CodiceHTML, "xxxxx.js", Tipo & Linea & ".js")
CodiceHTML = CodiceHTML & "Catalogo " & Tipo & " " & Linea
CodiceHTML = CodiceHTML & Parte2.ReadToEnd()
tabellaHTML.Open("Select * From Prodotti Where Tipo='" & Tipo & "' And
Linea='" & Linea & "' Order By Linea,Modello", datab,
ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockPessimistic)
tabellaHTML.MoveFirst()
i = 0
CodiceJS = vbNullString
Do While tabellaHTML.EOF = False
i = i + 1
ReDim Preserve Prodotto(i)
Prodotto(i).Tipo = CStr(tabellaHTML.Fields("Tipo").Value)
Prodotto(i).Linea = CStr(tabellaHTML.Fields("Linea").Value)
Prodotto(i).Modello = CStr(tabellaHTML.Fields("Modello").Value)
Prodotto(i).Descrizione = CStr(tabellaHTML.Fields("Descrizione").Value)
Prodotto(i).Foto = CStr(tabellaHTML.Fields("Foto").Value)
CodiceJS = CodiceJS & "a" & Prodotto(i).Modello & " = new Orologio(" &
Chr(34) & Prodotto(i).Tipo & _
"/" & Prodotto(i).Linea & "/" & Prodotto(i).Foto & Chr(34) & ", " & Chr(34)
& Prodotto(i).Modello & _
Chr(34) & ", " & Chr(34) & Prodotto(i).Linea & Chr(34) & ", " & Chr(34) &
Prodotto(i).Descrizione & _
Chr(34) & ");" & vbCrLf
tabellaHTML.MoveNext()
Loop
For z = 1 To i
CodiceHTML = CodiceHTML & "<tr>"
k = 0
Do While (k <= 5 AndAlso k + z <= i)
CodiceHTML = CodiceHTML & "<th><P>Mod." & Prodotto(z + k).Modello &
"</P></th>" & vbCrLf
k = k + 1
Loop
CodiceHTML = CodiceHTML & "</tr>"
k = 0
CodiceHTML = CodiceHTML & "<tr>"
Do While (k <= 5 AndAlso k + z <= i)
CodiceHTML = CodiceHTML & "<td><a href=" & Chr(34) & "javascript:a" &
Prodotto(z + k).Modello & ".Stampa()" & Chr(34) & _
"><IMG SRC='foto/" & Prodotto(z + k).Tipo & "/" & Prodotto(z + k).Linea &
"/" & Prodotto(z + k).Foto & "' border=0 width=90></a></td>" & vbCrLf
k = k + 1
Loop
CodiceHTML = CodiceHTML & "</tr>"
z = z + k - 1
Next
CodiceHTML = CodiceHTML & "</td></tr>"
CodiceHTML = CodiceHTML & "</table></body></html>"
MsgBox("Pagina Creata Correttamente.")
Catch ex As System.Runtime.InteropServices.COMException
MsgBox("E' avvenuto un errore nella creazione della pagina. Probabilmente
non vi sono articoli di tipo " & Tipo)
Finally
tabellaHTML.Close()
tabellaHTML = Nothing
CodiceHTML = CodiceHTML & "</table></body></html>"
sr.Write(CodiceHTML)
sr2.Write(CodiceJS)
sr.Close()
sr = Nothing
sr2.Close()
sr2 = Nothing
End Try
End Sub


scritto in .NET), ma funziona.
Molto prolissa :)
A suo postai questa (Vb6):
Sia obj una connessione ADO attiva e Tabella il nome di una tabella
o il contenuto di una query sul DB.
? "<table border=1><tr><td>"  & _
obj.execute(Tabella).getstring(,,"</td><td>","</td></tr><tr><td>","") & _
"</td></tr></table>"
Chiaramente la mia soluzione è un tantino rigida :)
termoPilucco

 o il contenuto di una query sul DB.
beh in realtà quella funzione deve anche decidere, in base a parametri,
quali file .js inglobare nell HTML e poi ricostruire tutti gli eventi nel
tag <a> per poter richiamare alcune funzioni contenute nei .js
Comunque riconosco che andrebbe riscritta in modo più pulito, ma al momento
il mio cliente (mio padre) non noterebbbe grosse differenze.


il mio cliente (mio padre) non noterebbbe grosse differenze.
Ma no, guarda che scherzavo (non l'ho neanche letta per intero)... volevo solo
scirvere la mia istruzione che è pressochè inutilizzabile (però funziona) :P
termoPilucco

 Inviato via 
http://arianna.libero.it/usenet/
C'č un modo piů elegante: salvare il recordset come XML (o inviare 
direttamente l'xml all'oggetto Response se siamo in ASP) e associagli un 
xslt, ovvero un foglio di stile per XML che esegue la trasformazione da XML 
a HTML (per la precisione XHTML) lato client, nel browser, oppure lato 
server, aggiungendo a IIS un filtro ISAPI disponibile gratis da M$.
Ciao
Elef