PDA

View Full Version : [ASP-Access]


Rossy77
16-07-2005, 10:52
Ciao a tutti
Sto creando un database delle mie foto per un progetto universitario.
Ho catalogato per ora solo un paio di foto per fare la prova.
Ho creato una query in Asp che mi dovrebbe ritornare in teoria una foto visibile,il e tutti i dati.
Per i dati tutto ok..la domanda è ...come faccio a fare in modo che la foto sia visibile..??ho provato di tutto ma senza risultato!!
Un altra cosa..mi consigliate una pagina che abbia una ricerca per vederne un po il codice?
Grazie
Rossella

Einstein
16-07-2005, 11:38
Supponendo di avere un db con una tabella che, per ogni foto contiene ha il suo path su disco, un metodo potrebbe essere quello di inserire un tag IMG nella pagina in questo modo:

<img src='<%=GetImagePath()%>'>

La funzione GetImagePath() contiene il codice che esegue la query sul db e restituisce il path della foto richiesta.
Tecnica mooolto migliorabile, ma dovrebbe darti un'idea di come agire.

Ciao

P.S.
Parli di ASP 3.0, non di ASP.NET, vero?

Rossy77
16-07-2005, 11:39
si di Asp..la vedo molto dura..ho una 50 ina di query possibili

Per la cronaca ora ho questo codice

<%Dim Conn, RS

Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")

DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("/rossellina/Foto.mdb")
Conn.Open DSNName
RS.open "select * from Foto", Conn




while not RS.eof
response.write "<h3>"
response.write RS("Locazione foto")
response.write RS("Data inserimento") & " "
response.write RS("Data scatto")
response.write RS("Nome foto")
response.write RS("Descrizione foto")

RS.movenext
wend

%>

e le foto sono memorizzate come indirizzo nel mio pc

Einstein
16-07-2005, 13:45
Se il campo "Locazione Foto" è il percorso su disco completo dell'immagine che vuoi visualizzare (ad esempio "C:\Foto\Foto1.jpg"), dovrebbe bastarti aggiungere questo al tuo codice:

Response.Write("<IMG src='" & RS("Locazione foto") & "'>")

Se posso darti alcuni consigli sul codice:
1. Usa OLEDB senza ODBC:
Set Conn = Server.CreateObject("ADODB.Connection")
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/rossellina/Foto.mdb")
Conn.Open connStr

2. Le connessione a database e i Recordset vanno sempre chiusi e deallocati esplicitamente, quindi, dopo il ciclo While, aggiungi:
RS.Close() : Set RS = Nothing
Conn.Close() : Set Conn = Nothing
Questo per evitare sprechi di memoria sul server web e consumo di risorse sul database.

Ciao

Rossy77
16-07-2005, 16:27
grazie..abbiamo fatto solo 2 lezione di asp..ecco perchè non so nemmeno di cosa tu stia parlando nel primo caso!