Interrogazione database per leggere i dati

  • Creatore Discussione Creatore Discussione darann
  • Data di inizio Data di inizio

darann

Utente Attivo
23 Nov 2006
36
0
0
Ciao Luca e a tutti ,

eccomi con un'altro quesito....
Vorrei leggere i dati al'interno di un database access.
All'apparenza facile, in pratica non mi si visualizza una mazza!

Seguendo alcune indicazioni ravanate sul web, ho estrapolato questo script, salvato in htm.

-------------------

<%

' Imposto una stringa con il nome del server
' (necessaria per far lavorare il browser sullo stesso
' dominio del sito)
Server = Request.ServerVariables("SERVER_NAME")

' Imposto una stringa Database dove memorizzo il nome ed
' il percorso del Database (in questo esempio il DB è nella stessa
' directory della pagina in esecuzione)
Database = server.MapPath(".") & "\database\metacart.mdb"

'Imposto una stringa di selezione SQL
strSql = "SELECT * FROM orders"

%>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nuova pagina 1</title>
</head>

<body>
<object classid="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33"
ID="dsoWebDb" HEIGHT="0" WIDTH="0">
<param NAME="Server" VALUE="http://<%=Server%>">
<param NAME="Connect"
VALUE="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<%=Database%>;Persist Security Info=False">
<param NAME="SQL" VALUE="<%=StrSql%>">
</object>
</body>
<TABLE CELLSPACING=0 CELLPADDING=0 id="tblWebDb" align="center"
DATASRC="#dsoWebDb" border=0>
<TR>
<TD DATASRC="#dsoWebDb" DATAFLD="nome primo campo"></TD>
<TD DATASRC="#dsoWebDb" DATAFLD="nome ultimo campo"></TD>
</TR>
</TABLE>
</body>

</html>
-----------------

Sono quasi certo che il problema sta nel percorso per trovare il DB ma li ho provati tutti.

Il server è ARUBA e la cartella comune del database mi racchiude due mdb, uno per la newsletter ( ricordi Luca ? ) e uno per l'eshop
Potrebbe esserci una situazione di conflitto tra i due mdb? Lo script riesce a cercare l'mdb specificato e basta? o.....che ne so io?

Azzziieeeee
:faraone:
 
Ci siamo...

Ciao Pole,

non è che mi abbia aiutato tanto il tuo commento....cmq grazie lo stesso della risposta.

Sono riuscito nell'intento, utilizzando un articolo in asp.net di LUKE su lukeonweb ( SAN LUCA! ) che con uno scriptino semplice semplice mi ha illuminato la visione dei dati!

Magari a te, posso chiedere gentilmente ( o a Luca che lo ha fatto ) se dopo lo script per una tabella, posso seguire a "ruota" un'altro script uguale modificando solo la tabella da visualizzare ( diversa da quella sopra) inserendo i record interessati, o se devo fare un'altra pagina .aspx er ogni tabella da visualizzare.

Per i " disgraziati come me" allego lo script funzionante con in rosso ( oltre ai chiari commenti per stringa di Luca ) le parti che ho modificato e che gli altri dovrebbero cambiare.
Naturalmente il tutto salvato in .aspx

Graziieeeee
Dario

:faraone:

---------


<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<script language="C#" runat="Server">
void Page_Load(Object sender, EventArgs e)
{
// Componiamo la stringa di connessione
String ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("database/metacart.mdb");

// Creiamo l'oggetto cn di tipo OleDbConnection
// passando la stringa di connessione al costruttore
OleDbConnection cn = new OleDbConnection(ConnString);

// Apriamo la connessione
cn.Open();

// Componiamo la stringa di interrogazione al database
String sql = "SELECT orderID, productID, quantity FROM itemsordered";

// Creiamo l'oggetto cmd di tipo OleDbCommand
// passando la Sql e la connessione al costruttore dell'oggetto
OleDbCommand cmd = new OleDbCommand(sql, cn);

// Creiamo un oggetto di tipo OleDbDataReader
// Esso è assimilabile a un RecordSet con cursore di tipo forward-only in ASP tradizionale
OleDbDataReader rdr = cmd.ExecuteReader();

// Intestazione pagina Html
Response.Write("<html><head><title>Visualizzare i record di un database Access</title></head><body>");

// Iniziamo a costruire la tabella che conterrà i dati della query
Response.Write("<table border=1 cellspacing=1 align=center>");
Response.Write("<tr><th>orederID</th><th>productID</th><th>quantity</th></tr>");

// Visualizziamo i record del DataReader appena creato
while (rdr.Read()){
Response.Write("<tr>");
Response.Write("<td>" + rdr["orderID"] + "</td>");
Response.Write("<td>" + rdr["productID"] + "</td>");
Response.Write("<td>" + rdr["quantity"] + "</td>");
Response.Write("</tr>");
}

// Completiamo il codice Html della tabella
Response.Write("</table>");

// Completiamo la pagina Html
Response.Write("</body></html>");

// Chiudiamo il DataReader
rdr.Close();

// Chiudiamo la connessione al database
cn.Close();
}
</script>

P.S. Io mi chiedo....ma perchè di tanti script sul web la maggior parte non funzionano? Devo dire la verità, quelli di Luca funzionano tutti egregiamente!
 
Ciao Pole,

non è che mi abbia aiutato tanto il tuo commento....cmq grazie lo stesso della risposta.
Era in tono scherzoso, certo non di scherno, ci mancherebbe ;)

Comunque se lavori con pagine.ASPX non stai utilizzando ASP, ma ASP.NET, che non sono la stessa cosa :)

Il link che ti ho dato io non ti va bene perchè è codice ASP.

Mi spiace ma allora non posso aiutarti, io sono un ASPiano puro :D

Sposto il Thread nella sezione apposita. ;)
 

Discussioni simili