Scrittura di dati nel db in asp

di il
3 risposte

Scrittura di dati nel db in asp

Salve a tutti, io ho fatto questa pagina asp che legge i valori da un form e dovrebbe inserirli nel db, però non lo fa e l'errore che mi da è

Errore di sintassi nell'istruzione INSERT INTO.
/modulo3.asp, line 31

Mi potreste dare una mano per capire dove sbaglio?

<%@ Language=VBSCRIPT%>
<%Option Explicit%>

<!--#include file="adovbs.inc"-->

<%
Dim objConn
Set objConn= Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=G:\Inetpub\wwwroot\pippo.mdb"
objConn.Open

Dim objRS
Set objRS = Server.CreateObject ("ADODB.Recordset")

objRS.Open "FormAssistenza", objConn, , adLockOptimistic, adCmdTable

If((Request("nome")="")) Then
Response.Write "Inserire Il nome"

Elseif ((Request("cognome")="")) Then
Response.Write "Inserire il cognome"
Else
objRS.AddNew
objRS("Nome")=Request.Form("nome")
objRS("Cognome")=Request.Form("cognome")
objRS("IDCliente")=Request.Form("cod")
objRS("D1")=Request("radio_1")
objRS("D2")=Request("radio_2")
objRS("D3")=Request("radio_3")
objRS("Note")=Request.Form("Segnala")
objRS.Update
end if

objRS.Close
Set objRS=Nothing

objConn.Close
Set objConn=Nothing
%>

3 Risposte

  • Re: Scrittura di dati nel db in asp

    Ciao, gli oggetti ado sono simpatici ma in alcuni casi non utili.
    In questo caso ado si limita a creare una stringa sql partendo dalle proprieta e metodi utilizzati e poi la esegue.

    A parte di valori , , adLockOptimistic, adCmdTable che potrebbero variare a seconda del provider installato, il resto mi sembra corretto.

    Io ti consiglierei (anche per ragioni di sicurezza) di costruire una stringa sql e di utilizzare l'oggetto connection, metodo execute per eseguirla. Con.execute(sql)

    Nella costruzione della stringa devi controllare campo per campo se contiene caratteri non corretti ed eventualmente mettere i valori di default (se ti riempio la form di spazi cosa memorizzi?).

    p.s. se stai facendo un'applicazione web con un discreto numero di utenti lascia perdere Access.

    Saluti
    http://www.isola-di-krk.net
  • Re: Scrittura di dati nel db in asp

    Sicuramente l'errore è dato da uno dei seguenti campi:

    ècode]
    objRS("Nome")=Request.Form("nome")
    objRS("Cognome")=Request.Form("cognome")
    objRS("IDCliente")=Request.Form("cod")
    objRS("D1")=Request("radio_1")
    objRS("D2")=Request("radio_2")
    objRS("D3")=Request("radio_3")
    objRS("Note")=Request.Form("Segnala")
    </font id=code></pre id=code>

    che è vuoto e non piace ad ADO.
    Aggiungerei anche di specificare sempre l'origine degli oggetti Request

    <pre id=code><font face=courier size= id=code>
    Request = Request.Form
    </font id=code></pre id=code>

    xchè, non vorrei sbaglairmi, non ricordo se esiste un ordine... da quanto ricordo non ho mai usato la Request(string attributo) da sola ma sempre seguita da .Form(string attributo) o .Querystring(string attributo)... ma ASP è da tanto che non lo tocco

    Fisholo

    ICQ@Home # 47938486
    ICQ@Work # 246829394 [ NOT AVAIABLE NOW ]
  • Re: Scrittura di dati nel db in asp

    Porca miseria (per nn dire altro...) ho scoperto che nn avevo i permessi in scrittura nella cartella wwwroot
    e io che mi scervellavo sull'asp....

    grazie a tutti
Devi accedere o registrarti per scrivere nel forum
3 risposte