problema con l'inserimento di valori in una tabella dopo una ricerca da form

alessandrot

Nuovo Utente
19 Apr 2012
1
0
0
ciao a tutti. è un pò che seguo il vostro forum ed ho trovato spunti interessanti per il lavoro che sto svolgendo. in pratica devo creare un piccolo sito in asp che permetta di relazionarsi col mio Db. seguendo diversi tutorial, discussioni ed un libro sono riuscito a creare un piccolo motore di ricerca per cercare un valore stabilito da un utente all'interno di una tabella del database. il tutto funziona ma ora ho un piccolo problema: vorrei che i valori che visualizzo a video siano inseriti in una tabella in modo da ottimizzare la grafica. sono 3 giorni che ci lavoro sopra ma niente..non riesco ad inserirceli. mi potreste aiutare? ho utilizzato query sql e un pò di codice java (che non conosco molto bene). sto cercando di capire passo passo quello che sto facendo perchè questo lavoro mi serve come tirocinio universitario...
vi posto il codice della mia pagina:

<%@LANGUAGE = JScript%>
<html>
<head>
<title>Cerca nel sito</title>
</head>
<body>

<h3>Cerca nel sito</h3>

<form method="POST" action="ricercaditta.asp?cerca=OK">
<input type="text" name="stringa">
<input type="submit" value="Cerca">
</form>


<table border="1">
<tr>
<td><b>Ditta:</b></td>
<td><b>Consorzio:</b></td>
<td><b>Ambito:</b></td><BR>
</tr>


<%

var cerca = new String(Request.QueryString("cerca"));
var testo = new String(Request.Form("stringa"));
var apice = testo.replace(/'/g,"''");
var stringa = apice.split(" ");
if (cerca == "OK")
{
if (testo == "" || testo == "undefined")
{
Response.Write("<p>Inserire almeno una parola per effettuare una ricerca</p>");
}
else
{
var Cn = new ActiveXObject("ADODB.Connection");
Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("database/Verifichedisistema.mdb"));


var sql = "SELECT * FROM Ditte WHERE";
for (var i=0; i<stringa.length; i++)
{
if (i > 0)
{
sql += " AND";
}
sql += " Ditta LIKE '%" + stringa + "%'";
}
var Mostra = Cn.Execute(sql);

%>




<tr>

<td> <% Response.Write(Mostra("Ditta"))%></td>
<td> <% Response.Write(Mostra("Consorzio"))%></td>
<td> <% Response.Write(Mostra("Ambito"))%></td>

</tr>





<%
Mostra.MoveNext()
Wend

End If
%>



</table>
</body>
</html>

<%
' Chiudo la connessione
cn.Close
Set cn = Nothing
%>


un grazie in anticipo a tutti coloro che mi sapranno aiutare..Alessandro
 
ciao a tutti. è un pò che seguo il vostro forum ed ho trovato spunti interessanti per il lavoro che sto svolgendo. in pratica devo creare un piccolo sito in asp che permetta di relazionarsi col mio Db. seguendo diversi tutorial, discussioni ed un libro sono riuscito a creare un piccolo motore di ricerca per cercare un valore stabilito da un utente all'interno di una tabella del database. il tutto funziona ma ora ho un piccolo problema: vorrei che i valori che visualizzo a video siano inseriti in una tabella in modo da ottimizzare la grafica. sono 3 giorni che ci lavoro sopra ma niente..non riesco ad inserirceli. mi potreste aiutare? ho utilizzato query sql e un pò di codice java (che non conosco molto bene). sto cercando di capire passo passo quello che sto facendo perchè questo lavoro mi serve come tirocinio universitario...
vi posto il codice della mia pagina:

un grazie in anticipo a tutti coloro che mi sapranno aiutare..Alessandro

Ciao,

segui molti Forum.

In risposta alla risposta data nell'altro Forun, non è necessario l'oggetto recordset per scorrere i record invece di Execute

Codice:
Ciao, io di solito uso i recordset per leggere il db perche utilizzando la execute mi trovo male a leggere piu record dato che li devo intabellare, li devo leggere uno a uno...

Uno è trovarsi male, secondo "li devo leggere uno a uno..." con l'oggetto recordset non è la stessa cosa?

Tu hai solo un codice scritto male. Mancanza di controlli ecc...

Questo è JScript non VBscript // per i commenti, Cn= (dichiarato nella variabile) e dopo chiudi il DB con cn=

Codice scritto correttamente:


Codice:
<%@LANGUAGE = JScript%>
<html>
<head>
<title>Cerca nel sito</title>
</head>
<body>

<h3>Cerca nel sito</h3>

<form method="POST" action="ricercaditta.asp?cerca=OK">
<input type="text" name="stringa">
<input type="submit" value="Cerca">
</form>

<table border="1">
<tr>
<td><b>Ditta:</b></td>
<td><b>Consorzio:</b></td>
<td><b>Ambito:</b></td><BR>
</tr>

<%
var cerca = new String(Request.QueryString("cerca"));
var testo = new String(Request.Form("stringa"));
var apice = testo.replace(/'/g,"''");
var stringa = apice.split(" ");
if (cerca == "OK")
{
if (testo == "" || testo == "undefined")
{
Response.Write("<p>Inserire almeno una parola per effettuare una ricerca</p>");
}
else
{
var Cn = new ActiveXObject("ADODB.Connection");
Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("database/Verifichedisistema.mdb"));


var sql = "SELECT * FROM Ditte WHERE";
for (var i=0; i<stringa.length; i++)
{
if (i > 0)
{
sql += " AND";
}
sql += " Ditta LIKE '%" + stringa[i] + "%'";
}
var Mostra = Cn.Execute(sql);

if (Mostra.EOF)
{
Response.Write("<p>Nessun risultato Trovato</p>");
}
else
{
while (!Mostra.EOF)
{
%>
<tr>
<td><% Response.Write(Mostra("Ditta"))%></td>
<td><% Response.Write(Mostra("Consorzio"))%></td>
<td><% Response.Write(Mostra("Ambito"))%></td>
</tr>
<%
Mostra.MoveNext();
%>
<%
}
}
%>

</table>
</body>
</html>
<%
Cn.Close;
%>
<%
}
}
%>

Mostra è la variabile dichiarata per scorrere tutti i record.

Codice:
<%
' Chiudo la connessione errato // Chiudo la connessione
cn.Close // Cn.Close;
Set cn = Nothing // non serve
%>

Codice:
<%
Mostra.MoveNext()
Wend

End If
%>

non serve Wend e end if, chiudi tutte le istruzioni con i ; Mostra.MoveNext();


Valeria.
 

Discussioni simili