19 messaggi dal 08 dicembre 2001
Scusate l' ignoranza, ma ho un piccolo problemino:
prelevo i dati da un form per inserire nuovi utenti in un DB Access 2000.
I campi della tabella son tre : Doc_URL(testo), Descrizione (testo)
titolo (numerico), dove Doc_URL è la chiave primaria.
La query della pagina asp che scrive nel DB è la seguente:

<% @LANGUAGE=VBSCRIPT %>
<% RESPONSE.EXPIRES=0 %>
<% RESPONSE.BUFFER=TRUE %>
<%
FUNCTION fixQuotes ( theString )
fixQuotes = REPLACE ( theString, "'" , "''" )
END FUNCTION
%>
------------------
<%
Dim conn
'rilevo le variabili del form

uppuser = Request.form("uppuser")
Doc_URL = Request.form("Doc_URL")
descrizione = Request.form("descrizione")
titolo = Request.form("titolo")

if Doc_URL="" then
Doc_URL="?????"
end if
if descrizione="" then
descrizione="?????"
end if
if titolo="" then
titolo="?????"
end if

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/Utenti.mdb")
%> <%
'Aggiunge un utente
if uppuser <> "" then
SQL = "INSERT INTO Users(Doc_URL, descrizione, titolo)VALUES ('"& fixQuotes( Doc_URL) & "', '"& fixQuotes(descrizione)&"', "&_
" "& titolo &")"
conn.Execute SQL
conn.close
%>
<%
end if
%>

Il problema è che nel DB non viene inserito nessun dato e la cosa che mi lascia perplesso è che la pagina non mi restituisce nessu errore.
Dove sbaglio???
Grazie di cuore a chi mi da una mano!

Prova a guardare questo esempio:

http://www.asp101.com/samples/viewasp.asp?file=db%5Fadd.asp

---[ www.digiscout.it ]---

"This message was written using 100% recycled electrons"
1.605 messaggi dal 06 settembre 2002
ma titolo non è una stringa ?
se è una stringa allora dovresti scrivere così

INSERT INTO Users (Doc_URL, descrizione, titolo)VALUES ('"& fixQuotes( Doc_URL) & "', '"& fixQuotes(descrizione)&"', '"&_
" "& titolo &"')"


comunque sei sicuro che uppuser sia diverso da "" ?
prova a vedere se ti entra nella if

FORZA LA MAGICA ROMA

FORZA LA MAGICA ROMA
19 messaggi dal 08 dicembre 2001
Non capisco. Ho apportato alcune modifiche, qualcosa è cambiato ma ottengo un errore che non capisco per chiarezza invio i listati delle pagine incriminate.... questo è il form:
<html>
<head>
<title>inserimento utente</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" link="#C1202C" vlink="#C1202C" alink="#C1202C">
<p><font face="Times New Roman, Times, serif" color="#447782">Usa questo modulo
per inserire il nuovo utente nel database. Grazie</font></p>
<p> </p>
<form method="post" action="conferma.asp" name="form" >
<p>
<input type="text" name="Doc_URL" maxlength="50">
<font face="Times New Roman, Times, serif" color="#C1202C">Doc_URL (* digita
il collegamento alla pagina utente ES. Lista(numero).htm )</font></p>
<p>
<input type="text" name="Descrizione" maxlength="50">
<font face="Times New Roman, Times, serif" color="#C1202C">Descrizione (*
digita la descrizione dell'untente ES. Lista nozze sig. Rossi)</font></p>
<p>
<input type="text" name="utente" maxlength="50">
<font face="Times New Roman, Times, serif" color="#C1202C">Codice Utente (*
digita il codice che assegni al cliente)</font></p>
<p>
<input type="submit" name="adduser" value="invia">
<input type="reset" name="Reset" value="Cancella">
</p>
</form>
<p>  </p>
</body>
</html>
questa invece è la pagina asp:

<% @LANGUAGE=VBSCRIPT %>
<% RESPONSE.EXPIRES=0 %>
<% RESPONSE.BUFFER=TRUE %>
<%
FUNCTION fixQuotes ( theString )
fixQuotes = REPLACE ( theString, "'" , "''" )
END FUNCTION
%>

<html>
<head>
<title>Conferma</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000" link="#C1202C" vlink="#C1202C" alink="#C1202C">
<%
Dim conn
'rilevo le variabili del form

adduser = Request.form("adduser")
Doc_URL = Request.form("Doc_URL")
descrizione = Request.form("descrizione")
utente = Request.form("utente")

if Doc_URL="" then
Doc_URL="?????"
end if
if descrizione="" then
descrizione="?????"
end if
if utente="" then
utente="?????"
end if

Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/liste.mdb")
%>
<%
'Aggiunge un prodotto
if adduser <> "" then
SQL = "INSERT INTO listanozze (Doc_URL, descrizione, utente)VALUES ('"& fixQuotes( Doc_URL) & "', '"& fixQuotes(descrizione)&"', "&_
" '" & fixQuotes( utente) & "' )"

rs.Open SQL, conn,1,2

conn.close
%>
<%
end if
%>
<p><font face="Times New Roman, Times, serif" size="3" color="#447782">il database
è stato aggiornato!! L'Utente <%=utente%> è stato aggiunto.</font></p>
<p><font face="Times New Roman, Times, serif" size="3" color="#447782">Torna alla<a href="inserimento.asp">
pagina di inserimento dati</a> per inserire un nuovo utente o <a href="index.html">esci</a></font></p>
<p> </p>
<p> </p>
</body>
</html>
e questo è l'errore:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

/conferma.asp, line 46
ma io mica sto aggiornando la tabella devo inserire nuovi dati.

Aiuto non so che fare.
Grazie!!!!!!!!!!!

1.605 messaggi dal 06 settembre 2002
leggi questa F.A.Q.

http://www.aspitalia.com/newsgroup/faq.asp?ID=51

FORZA LA MAGICA ROMA

FORZA LA MAGICA ROMA
9 messaggi dal 06 marzo 2001
La soluzione è semplice se ti serve ancora fammi sapere!

LorenZ

LorenZ

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.