Ho una pagina asp che non funziona, o meglio funziona a metà.
Con vari test, penso di essere riuscito a delimitare l'errore in queste 3 righe:
Response.write("
Costo complessivo: " + rst("costo")*quantitaProdotto + "</p>");
rst("quantita")=parseInt(rst("quantita"))-quantitaProdotto;
rst.Update();
qualcuno sa dirmi se c'è un errore in queste 3 righe?
incollo ad ogni modo il file intero, per completezza, anche se ho testato e ho visto che funzionano le altre parti.
a questa pagina asp si accede da un'altra pagina asp perfettamente funzionante invece.
cmq incollo il codice completo
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<%@language="JScript"%>
<%
var con;
var conString;
con = Server.CreateObject("ADODB.Connection");
con.Mode = adModeReadWrite;
conString = "Provider=Microsoft.Jet.OLEDB.4.0; "
+ "Data Source=" +Server.MapPath("auto.mdb");
con.Open(conString);
%>
<title>Esercizio 9.1 - Pagina B </title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<h1>Pagina B</h1>
<%
var rst;
var quantitaProdotto;
var costoComplessivo;
var trovato = 0;
if (Request.ServerVariables("REQUEST_METHOD") == "GET") {
idProdotto=parseInt(Request.QueryString("id"))
quantitaProdotto=parseInt(Request.QueryString("qua ntita"));
}
else if (Request.ServerVariables("REQUEST_METHOD") == "POST") {
quantitaProdotto=parseInt(Request.Form("quantita") );
idProdotto=parseInt(Request.Form("id"));
}
if (isNaN(idProdotto)) {
Response.write("
Formato Id prodotto non valido</p>");
}
else {
if (isNaN(quantitaProdotto) || quantitaProdotto < 0) {
Response.write("
Formato quantita prodotto non valido</p>");
}
else {
rst = Server.CreateObject("ADODB.Recordset");
rst.Open("auto_nuove",conString,adOpenDynamic,adLo ckPessimistic);
while (!rst.EOF) {
if(rst("id") == idProdotto) {
var trovato = 1;
if (quantitaProdotto > parseInt(rst("quantita"))) {
Response.write("
Quantita richiesta non disponibile</p>");
}
else {
Response.write("
Costo complessivo: " + rst("costo")*quantitaProdotto + "</p>");
rst("quantita")=parseInt(rst("quantita"))-quantitaProdotto;
rst.Update();
}
}
rst.MoveNext( );
}
if(trovato == 0)
Response.write("
Id non esistente</p>");
rst.Close( );
rst = null;
}
}
%>
<h2> Contenuto del database aggiornato</h2>
<%
sSQLString = " Select * from auto_nuove ";
rst = con.Execute(sSQLString);
%>
<table border=1>
<tr><th>ID</th><th>Nome</th><th>Quantità</th></tr>
<%
while (!rst.EOF) {
Response.write("<tr><td>"+ rst("ID") +
"</td> <td>"+ rst("nome") +
"</td> <td>"+ rst("quantita")+
"</td></tr>");
rst.MoveNext( );
}
rst.Close();
con.Close();
rst = null;
con = null;
%>
</table>
Clicca qui per tornare alla pagina precedente</p>
</body>
</html>