Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305

    Errore su INSERT/UPDATE

    Ho scritto il seguente codice:

    <%
    op = Request.QueryString("Operazione")

    codid = Request.Form("Codid")
    if len(codid)>0 then codid = server.htmlEncode(codid)
    codidobj = Request.Form("Codidobj")
    if len(codidobj)>0 then codidobj = server.htmlEncode(codidobj)
    den = Request.Form("Denominazione")
    if len(den)>0 then den = server.htmlEncode(den)

    url_DB = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.mappath("SchedeProgetto.mdb")
    set connobj = Server.CreateObject( "ADODB.Connection" )
    connobj.Open url_DB

    set Rs = Server.CreateObject("ADODB.Recordset")

    if (op = "modifica") then
    sql = "UPDATE SchedaOBJ SET DENOMINAZIONE='"&den&"' WHERE CODID='"&codid&"' and CODIDOBJ='"&codidobj&"'"
    else
    sql = "INSERT INTO SchedaOBJ (CODID,CODIDOBJ,DENOMINAZIONE) VALUES ('"&codid&"','"&codidobj&"','"&den&"')"
    end if

    connobj.execute sql

    Rs.close (****)
    set Rs = nothing
    connobj.close
    set connobj = nothing
    %>

    ma mi da il seguente errore nel punto (****)

    ADODB.Recordset error '800a0e78'
    L'operazione non è consentita se l'oggetto è chiuso.

    Grazie.

    VIncenzo

  2. #2
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    Per forza, chiudi un oggetto mai aperto
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    Ho tolto RS.close e funziona,
    ma se cerco di inserire un dato che contenga le virgolette mi dà il seguente errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query ''aaa &quot;aaa&quot; 'aaa' fine''.

    sul comando:

    connobj.execute sql


    NOTA:
    aaa "aaa" 'aaa' fine è la stringa che tento di inserire

  4. #4
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    stampati a video la variabile sql e poi postala, please
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  5. #5
    Trasforma:

    codid = Request.Form("Codid")
    if len(codid)>0 then codid = server.htmlEncode(codid)
    codidobj = Request.Form("Codidobj")
    if len(codidobj)>0 then codidobj = server.htmlEncode(codidobj)
    den = Request.Form("Denominazione")
    if len(den)>0 then den = server.htmlEncode(den)

    In

    codid = server.htmlEncode(Replace(Request.Form("Codid"),"' ","''"))
    codidobj = server.htmlEncode(Replace(Request.Form("Codidobj") ,"'","''"))
    den = server.htmlEncode(Replace(Request.Form"Denominazio ne") ,"'","''"))


    Così sostituisci l'apice che ti da errore funzionando.
    Inoltre hai tutto su una riga

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305
    grazie di tutto..

    ho risolto.

    Vincenzo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.