Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Database access e ricerca dati in pagina html
lunedì 02 novembre 2009 - 15.11
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
zdelete
Profilo
| Newbie
5
messaggi | Data Invio:
lun 2 nov 2009 - 15:11
Salve a tutti, vi scrivo perchè sono giorni che provo a collegare una pagina html ad un database in access ma non ci riesco proprio! Ho cercato in rete ed i vari esempi mi danno sempre qualche errore quindi nada! Ho cercato anche su questo forum ma, a meno di abbagli, non ho trovato niente e quindi vi "espongo il caso"...
Dovrei creare una pagina in html con un campo di ricerca (un form se non sbaglio terminologia) che vada a prendere i dati in un database in access. La pagina non dovrà essere pubblicata in rete ma dovrà servire in locale. Idem per il database.
E giusto per non andare incontro ad orrori da parte mia specifico altro:
a) il database si chiama forum.mdb
b) la tabella da cui prelevare i dati si chiama posts
c) le colonne di dati interessati sono PostUser, PostTitle e PostMessage
Il risultato da ottenere sarebbe che dopo aver digitato il testo da cercare (in questo caso collegato a PostUser) mi venissero elencati i PostTitle e PostMessage relativi.
Spero di essere stato abbastanza chiaro. Grazie infinite a tutti.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 3 nov 2009 - 10:59
>Salve a tutti,
ciao!
>Dovrei creare una pagina in html con un campo di ricerca (un
>form se non sbaglio terminologia) che vada a prendere i dati
>in un database in access. La pagina non dovrà essere pubblicata
>in rete ma dovrà servire in locale. Idem per il database.
Allora, una pagina html, in se, non può connettersi ad un database, a meno che non usi dello scripting lato client (vedi javascript) oppure che non scrivi un flash che si interfaccia al db. Ma la pagina in sè non fa nulla e non può fare nulla. Piuttosto ti serve una tecnologia come asp.net, asp, php, che ti consentono di usare scripting lato server per interrogare il database.
>Il risultato da ottenere sarebbe che dopo aver digitato il testo
>da cercare (in questo caso collegato a PostUser) mi venissero
>elencati i PostTitle e PostMessage relativi.
>Spero di essere stato abbastanza chiaro.
Sembra che ti serva un forum
. Che ne dici di usare prodotti free tipo forumfree.net?
>Grazie infinite a tutti.
di nulla!
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
zdelete
Profilo
| Newbie
5
messaggi | Data Invio:
mar 3 nov 2009 - 11:18
Ciao, grazie per l'attenzione ma quello che ho esposto è giusto un "esempio" per capire come funziona la connessione al database con il form di ricerca. Aggiungo, inoltre, che l'interrogazione sarebbe in sola lettura del database. Se poi servono javascript o altro per me è indifferente! Nel senso proprio che quello che mi interessa è capire come fare questo "agganciamento" di dati. Grazie ancora...
PS: se poi qualcuno potesse "suggerirmi" un libro o altro materiale da studiare mi farebbe un enorme piacere
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 3 nov 2009 - 14:54
>Ciao, grazie per l'attenzione ma quello che ho esposto è giusto
>un "esempio" per capire come funziona la connessione al database
>con il form di ricerca. Aggiungo, inoltre, che l'interrogazione
>sarebbe in sola lettura del database. Se poi servono javascript
>o altro per me è indifferente! Nel senso proprio che quello che
>mi interessa è capire come fare questo "agganciamento" di dati.
>Grazie ancora...
ok, allora, ti consiglio di scaricarti Visual Studio 2008 web Developer Express (
http://www.microsoft.com/express/vwd/
). E Sql server 2008 Express, se vuoi evitare di usare Access (
http://www.microsoft.com/express/sql/download/
). Qui hai un video per partire:
http://msdn.microsoft.com/it-it/beginner/bb964635.aspx
Per connetterti al database, devi conoscere ADO.Net, e qui ci sono video utili:
http://idealprogrammer.com/languages/visual-basic-vbnet/adonet-step-by-step-16-free-one-hour-videos/
Spero possa esserti di aiuto,
se hai bisogno, chiedi pure.
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
zdelete
Profilo
| Newbie
5
messaggi | Data Invio:
mer 4 nov 2009 - 16:40
Grazie per i link
nel frattempo ho fatto ancora prove
e quasi quasi ci siamo! Solo che forse il post "rischia" di essere passato al "reparto asp"... si regolerà il mod...
Dunque, ho creato una pagina in html che richiama una in asp e le ho messe tutt'e due in locale su inetpub (e per semplicità ho messo anche il file in access nella stessa directory) solo che avviando la ricerca mi dà il seguente errore
Tipo di errore:
Server.MapPath(), ASP 0173 (0x80004005)
Il parametro Path del metodo MapPath contiene un carattere non valido.
/search.asp, line 12
e la linea in questione è questa
Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath)
per completezza vi riporto tutta la pagina in asp che è piccolina
<%
Dim Cerca
Cerca = Replace(Request.Form("search"), "'", "")
if Cerca = "" then
Response.write "Errore. Non hai inserito nessun termine da cercare"
Response.end
end if
Dim DbPath, Conn
DbPath="http://localhost/forum.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath)
Dim strSQL, Rs
strSQL = "Select * from posts where PostUser like '%" & Cerca & "%' or SEARCH_WORDS like '%" & Cerca & "%'"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open strSQL, Conn, 3, 3
if Rs.EOF then
Response.write "Nessun risultato trovato!"
else
Do while NOT Rs.EOF
Response.write "<a href=" & Rs("PostSection") & ">" & Rs("PostMessage") & "</a><br>" & Rs("PostUser") & "<br><br>"
Rs.MoveNext
Loop
End If
Rs.close
Set Rs = Nothing
Conn.close
Set Conn = Nothing
%>
Inutile dire che non è farina del mio sacco
io ho solo personalizzato i percorsi, i campi di ricerca ed i permessi. Spero non abbia fatto orrori troppo grossi. Grazie infinite ancora
Aggiornamento!! Ho cambiato il percorso del database mettendo solo /forum.mdb (credo sia esatto così, se sbaglio correggetemi!) ed ora l'errore è questo
Microsoft JET Database Engine (0x80040E10)
Nessun valore specificato per alcuni parametri necessari.
/search.asp, line 17
Non si finisce mai di ... sbagliare!
Ulteriore aggiornamento! 05/11
Ho stampato la query ed il risultato è questo:
Select * from posts where PostUser like '%esempio%' or SEARCH_WORDS like '%esempio%'
un aiutino a questo puno sarebbe risolutivo!! grazie ancora
Ultimo aggiornamento delle 21:10 del 05/11 e chiudo perchè ho risolto!
Giusto per essere d'aiuto anche a chi dovesse avere lo stesso problema riposto il codice al completo con tutte le modifiche da me fatte durante le prove:
<%
Dim Cerca
Cerca = Replace(Request.Form("search"), "'", "")
if Cerca = "" then
Response.write "Errore. Non hai inserito nessun termine da cercare"
Response.end
end if
Dim DbPath, Conn
DbPath="/forum.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath)
Dim strSQL, Rs
strSQL = "Select * from posts where PostUser like '%" & Cerca & "%'"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open strSQL, Conn, 3, 3
if Rs.EOF then
Response.write "Nessun risultato trovato!"
else
Do while NOT Rs.EOF
Response.write Rs("PostTitle") & " > " & Rs("PostMessage") & "<br>" & Rs("PostUser") & "<br><br>"
Rs.MoveNext
Loop
End If
Rs.close
Set Rs = Nothing
Conn.close
Set Conn = Nothing
%>
Qualora doveste avere ancora problemi controllate i permessi di tutti i file e di tutte le cartelle. Per dubbi e/o problemi non esitate a chiedere!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !