4 messaggi dal 27 febbraio 2006
Ciao a tutti,

sono nuovo in fatto di creazione di pagine ASP e ho il problema della visualizzazione dei risultati del database con Dreamweaver.

Devo creare un sito di e-commerce, ancora in locale, e i programmi utilizzati sono: Windows XP Pro SP 2 (IIS 5.1), Dreamweaver MX 2004, Access 97. Il database creato ha la spunta solo su "archivio"

Procedura utilizzata per la connessione ad Access:

Andato su Pannello di Controllo - Strumenti di amministrazione - Origine dei Dati (OBDC).
Creato nuovo DSN di Sistema con pulsante aggiungi e cercato il database al quale collegare Dreamweaver e Access. Le caselle di spunta "lettura" e "esclusivo" sono deselezionate.
Quindi sono andato al pannello IIS e alla cartella Siti Web. Tasto destro del mouse e in poprietà ho verificato che alla scheda Directory la casella di dialogo Autorizzazioni ed esecuzioni fosse selezionala la voce "solo script".
Le caselle di spunta selezionate sono solo quelle di "scrittura", "registrazione visite" e "indicizza questa risorsa". Poi ho dato Ok.
La procedura è stata copiata da un corso multimediale e dalla guida di Dreamweaver.

Con la scheda Appplicazioni - Pulsante Recordset ho richiamato il database ecommerce e ho scelto i campi della query che avevo creato per la pubblicazione (in questa query formata da un'unica tabella ci sono 3 campi calcolati utilizzati per determinare il prezzo di vendita, l'IVA e l'importo totale).
Dopo aver selezionato i campi ho premuto il tasto "prova" per testare la connessione e i campi vengono visualizzati perfettamente (anzi se inserisco un filtro, quest'ultimo viene visto normalmente).
Quindi ho inserito i campi nello schema della tabella che avevo creato, ma quando lo provo con il Vista Data Live mi dà errore.

L'errore è questo: HTTP: 500.100 errore interno del server. Tipo di errore Microsoft OLE DB Provider for OBDC drivers (0x80004005) "Impossibile usare "sconosciuto" file già in uso.

In realtà il file di Access non lo usa nessuno. Esso è stato inserito nella cartella del sito, insieme agli altri file, e copiato sulla cartella del server di prova.

Dov'è che sbaglio? Dove devo guardare?
9 messaggi dal 07 marzo 2006
www.sirio.net
Per la connessione e la visualizzazione dei dati, prova:
<%
Set conn = Server.CreateObject("ADODB.Connection")

'connessione in remoto
'conn.Open "driver={Microsoft Access Driver (*.mdb)};PWD=;dbq="&Server.MapPath("/EventualeCartella/NomeDatabase.mdb")

'connesione in locale
'conn.Open "driver={Microsoft Access Driver (*.mdb)};PWD=;dbq=D:\ProgrammiSviluppati\GestioneEcommerce\NomeDatabase.mdb"

sql = " SELECT * from tabella"

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql , conn
'filtra dati in base ad un id recuperato da un form
'rs.Open sql & " where id= " & request.form("id") & " ", conn
'filtra dati in base ad un id recuperato da una query string
'rs.Open sql & " where id= " & request.querystring("id") & " ", conn
if rs.EOF then
Response.Write "Non ci sono dati"
else
Do while not rs.EOF
response.write rs!id
rs.movenext
loop
end if

%>

Per il database ti consiglio di utilizzare Access 2000 o superiore altrimenti sul server ti potrebbe dare problemi.
4 messaggi dal 27 febbraio 2006
Scusa la mia ignoranza, ma finora non ho mai lavorato usando il codice: ho sempre fatto fare ai programmi.

La stringa che mi hai dato la devo incollare? E se sì dove? Quello che mi hai mandato dovrebbe essere inserito in tutte le pagine che genero oppure solo in una, dato che si tratta di istruzioni generali?
=====================================================================

Nel frattempo ti giro il codice che mi ha generato la pagina.

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/ecommerce.asp" -->
<%
Dim NotebookAcer__MMColParam
NotebookAcer__MMColParam = "1"
If (Request.QueryString("Acer") <> "") Then
NotebookAcer__MMColParam = Request.QueryString("Acer")
End If
%>
<%
Dim NotebookAcer
Dim NotebookAcer_numRows

Set NotebookAcer = Server.CreateObject("ADODB.Recordset")
rs.Open sql , conn
NotebookAcer.ActiveConnection = MM_ecommerce_STRING
NotebookAcer.Source = "SELECT * FROM [Articoli Query] WHERE IDMarca = '" + Replace(NotebookAcer__MMColParam, "'", "''") + "' ORDER BY Sottocategoria ASC"
NotebookAcer.CursorType = 0
NotebookAcer.CursorLocation = 2
NotebookAcer.LockType = 1
NotebookAcer.Open()

NotebookAcer_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = 15
Repeat1__index = 0
NotebookAcer_numRows = NotebookAcer_numRows + Repeat1__numRows
%>
<html>
<head>
<title>Documento senza titolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="770" border="0" cellspacing="0" cellpadding="2">
<tr>
<td width="871"><img src="Images/Logo%20Shop%20on%20Web.jpg" width="210" height="50"><img src="Images/Home%20Page.jpg" width="560" height="50"></td>
</tr>
<tr>
<td bgcolor="#0000FF">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="600" border="1" cellspacing="0" cellpadding="2">
<tr>
<td width="153"><font size="2" face="Arial, Helvetica, sans-serif"><%=(NotebookAcer.Fields.Item("IDMarca").Value)%></font></td>
<td width="153"> <%
While ((Repeat1__numRows <> 0) AND (NOT NotebookAcer.EOF))
%>
<%=(NotebookAcer.Fields.Item("IDCodice").Value)%>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
NotebookAcer.MoveNext()
Wend
%> </td>
<td colspan="2"><font size="2" face="Arial, Helvetica, sans-serif">&nbsp;<%=(NotebookAcer.Fields.Item("Modello").Value)%></font></td>
</tr>
<tr>
<td colspan="3"><font size="2" face="Arial, Helvetica, sans-serif"><%=(NotebookAcer.Fields.Item("Descrizione").Value)%></font></td>
<td width="210"><p><font size="2" face="Arial, Helvetica, sans-serif"><%=(NotebookAcer.Fields.Item("Importo").Value)%></font></p></td>
</tr>
</table>
<p>&nbsp;</p>
</body>
</html>
<%
NotebookAcer.Close()
Set NotebookAcer = Nothing
%>
9 messaggi dal 07 marzo 2006
www.sirio.net
prova con questo codice:
<%@LANGUAGE="VBSCRIPT"%>
<%
Dim IdNotebook
Dim sql
Dim conn

If (Request.QueryString("Acer") <> "") Then
IdNotebook = Request.QueryString("Acer")
else
'io metterei un redirect, vuol dire che la pagina non è stata chiamata dall'utente
'ma amagri vi è arrivato tramite un motore di ricerca
response.redirect("http://www.tuosito.it")
End If



Set conn = Server.CreateObject("ADODB.Connection")

'scommenta la connessione che ti interessa
'connessione in remoto
'la stringa la devi copiare in ogni pagina oppure nel file di inclusione ma non in tutti e due

'conn.Open "driver={Microsoft Access Driver (*.mdb)};PWD=;dbq="&Server.MapPath("/EventualeCartella/NomeDatabase.mdb")

'connesione in locale
'conn.Open "driver={Microsoft Access Driver (*.mdb)};PWD=;dbq=D:\ProgrammiSviluppati\GestioneEcommerce\NomeDatabase.mdb"



sql=" SELECT * FROM [Articoli Query] "


Set rs= Server.CreateObject("ADODB.Recordset")

'controlla IDMarca all'interno del database
'se è un numero (contatore)
rs.Open sql & " WHERE IDMarca = " & IdNotebook & " ORDER BY Sottocategoria ASC ", conn,2,3

'se è una stringa (spero di no) commenta la riga precedente e scommenta questa
'rs.Open sql & " WHERE IDMarca = '" & Replace(IdNotebook, "'", "''") & "' ORDER BY Sottocategoria ASC ", conn,2,3

'io non so come vuoi formattare la pagina
'comunque esegui un ciclo e recuperi tutti i valori che ti servono
'se li vuoi inserire in una tabella ricorda che i tag <table> e </table> e l'eventuale intestazione
'vanno inseriti all'esterno del ciclo
'e le righe e le colonne all'interno

do While NOT rs.eof
response.write rs("IDCodice") & "<br>"
response.write rs("Modello") & "<br>"
response.write rs("Descrizione") & "<br>"
response.write rs("Importo") & "<br><hr>"

rs.MoveNext()
loop

rs.Close()
Set rs= Nothing
%>

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.