Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    cancellare un record dal database dopo averlo selezionato

    salve a tutti,
    ho l'esigenza di cancellare dei record da un database.
    dopo avere selezionato un record scrivo questo:

    Dim Conn
    Dim Rs
    Dim sql
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/mdb-database/prova.mdb")
    sql= "Delete * FROM tblGuestbook WHERE fldAuto='" & ID
    Rs.Open sql, Conn
    Conn.Close
    Set Conn = Nothing
    Response.Write "Successfully Deleted"


    ma la risposta che ottengo è:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression 'fldAuto='16'.

    /attila/data/defaultd.asp, line 14



    che devo fare?? Grazie!!
    Alessandro

  2. #2
    ----------------------------------------------------
    impariamo a fare un po' di debug

    *subito* dopo la composizione della stringa SQL metti

    Response.Write "maGGica SQL...: " & sql
    Response.Flush

    poi posta quello che viene a video
    ----------------------------------------------------

  3. #3
    Grazie del przioso suggerimento!!!

    lo userò in futuro!!

    questa volta ho trovato

    in pratica la posto di:
    sql= "Delete * FROM tblGuestbook WHERE fldAuto='" & ID


    ho messo:
    sql= "Delete * FROM tblGuestbook WHERE fldAuto=" & ID

    senza l'apice davanti alle virgolette, forse perchè il valore era numerico...
    sono un pazzo autodidatta lo so :-)

    Grazie!!!
    Alessandro

  4. #4
    infatti, i numeri NON vogliono l'apice


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 © 2026 vBulletin Solutions, Inc. All rights reserved.