Newsgroup: it.comp.www.asp
Titolo: Problema SQL & INSERT INTO....

Ricevo questo errore:
"Microsoft JET Database Engine (0x80040E14)
Errore di sintassi nell'istruzione INSERT INTO"
Aiutatemi please!
Ecco il codice della pagina asp....il db è una tabella Utenti con i campi
"nome, cognome, indirizzo, citta, provincia, cap, telefono, email, userid,
password"
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p><BR>
  <b><font face="Arial, Helvetica, sans-serif" size="7">Registrazione Nuovo
Utente</font></b></p>
<p>&nbsp;</p>
<p><BR>
  <BR>
  <BR>
</p>
<form  method="post">
  <p>Benvenuto! Compila il modulo qui sotto e potrai accedere immediatamente
a
    tutti i servizi del sito..</p>
  <p>&nbsp;</p>
  <table width="38%" border="0" align="left" height="323"
bordercolor="#CCCCCC">
    <tr>
      <td width="26%"><b>Nome</b> </td>
      <td width="74%">
        <input type="text" name="nome">
        * </td>
    </tr>
    <tr>
      <td width="26%"><b>Cognme</b> </td>
      <td width="74%">
        <input type="text" name="cognome">
        *</td>
    </tr>
    <tr>
      <td width="26%"><b>Indirizzo</b> </td>
      <td width="74%">
        <input type="text" name="indirizzo" maxlength="50" size="50">
      </td>
    </tr>
    <tr>
      <td width="26%"><b>Citt&agrave; </b> </td>
      <td width="74%">
        <input type="text" name="citta" maxlength="25" size="25">
      </td>
    </tr>
    <tr>
      <td width="26%"><b>Provincia</b> </td>
      <td width="74%">
        <input type="text" name="provincia" maxlength="25" size="25">
      </td>
    </tr>
    <tr>
      <td width="26%"><b>CAP</b> </td>
      <td width="74%">
        <input type="text" name="cap" maxlength="5" size="10">
      </td>
    </tr>
    <tr>
      <td width="26%"><b>Telefono</b> </td>
      <td width="74%">
        <input type="text" name="telefono" maxlength="15" size="15">
      </td>
    </tr>
    <tr>
      <td width="26%"><b>E-mail</b> </td>
      <td width="74%">
        <input type="text" name="email" maxlength="25" size="25">
        * </td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p><font size="1">I campi contrassegnati dall' * sono
obbligatori</font></p>
  <p>&nbsp;</p>
  <p>Ora inserisci il nome e la password che utilizzerai per accedere ai
servizi
    del sito</p>
  <table width="52%" border="0" align="center">
    <tr>
      <td width="50%">
        <p><b>USER-ID</b>
          <input type="text" name="userid" maxlength="10">
          *</p>
      </td>
      <td width="50%"><b>PASSWORD</b>
        <input type="password" name="password" maxlength="10">
        *</td>
    </tr>
  </table>
  <p>Per sicurezza reinserisci la password:
   <!--
 <input type="password" name="password2" maxlength="10">  -->
    *</p>
  <p>&nbsp; </p>
  <p>Ok, ora premi Invia Dati se tutto &egrave; corretto e il gioco &egrave;
fatto!</p>
  <p>&nbsp;</p>
  <table width="7%" border="0" align="center">
    <tr>
      <td width="43%">
        <input type="submit" name="invia" value="Invia Dati">
      </td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <p>&nbsp; </p>
  <p>&nbsp; </p>
  <p>&nbsp;</p>
</form>
<%
nome=Request.form("nome")
cognome=Request.form("cognome")
indirizzo=Request.form("indirizzo")
citta=Request.form("citta")
provincia=Request.form("provincia")
cap=Request.form("cap")
telefono=Request.form("telefono")
email=Request.form("email")
userid=Request.form("userid")
password=Request.form("password")
Function apici (stringa)
 apici=Replace(stringa, " ' ", " ' ' ")
End Function
if len(Request.Form) > 0 then
'and if Request.Form("password") == Request.Form("password2")
 dim conn, strConn
 strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " &_
   Server.MapPath("negozio.mdb")
 Set  conn=Server.CreateObject("ADODB.Connection")
 Conn.Open StrConn
 SQL="INSERT INTO Utenti (nome, cognome, indirizzo, citta, provincia, cap,
telefono, email, userid, password)"
  SQL=SQL & "VALUES (' " & apici(nome) & " ',"
  SQL = SQL &" ' "& apici(cognome) & " ',"
  SQL = SQL &" ' "& apici(indirizzo) & " ',"
  SQL = SQL &" ' "& apici(citta) & " ',"
  SQL = SQL &" ' "& apici(provincia) & " ',"
  SQL = SQL &" ' "& apici(cap) & " ',"
  SQL = SQL &" ' "&  apici(telefono) & " ',"
  SQL = SQL &" ' "& apici(email) & " ',"
  SQL = SQL &" ' "& apici(userid) & " ',"
  SQL = SQL &" ' "& apici(password) & " ' )"
 'creo il recordset
 conn.Execute (SQL)
 'libero le risorse
 conn.Close
 set conn=Nothing
 Response.Write "<H2>Inserimento effettuato con successo</H2>"
'else
' Response.Write "<H2>Dati Errati ! Ricompila il modulo</H2>"
End if
%>
</body>
</html>

Stai usando ' come indicatore di stringa; la function apici raddoppia ' con
' ', secondo me questo è un problema
Prova a cambiare apici in replace("'","`") (sostituisci con alt-96)
Se non va ancora stampa a video la query prima di eseguirla e posta quella

Ecco il codice della pagina asp....il db è una tabella Utenti con i campi
ecco 202 righe di codice che nessuno che non abbia mezza giornata da
perdere leggerà mai!
perché non posti direttamente la query che provi ad eseguire?
-- 
non studio non lavoro non guardo la tv
non vado al cinema non faccio sport

 ' ', secondo me questo č un problema
