Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374

    Errore di sintassi nell'istruzione UPDATE

    Non capisco dov'è che sbaglio, mi da questo errore:
    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione UPDATE.
    /camp3000/resultgps.asp, line 148
    codice:
    SQL = "UPDATE campeggi SET distanza_tmp = 0"
    MM_camp3000_STRING.Execute(SQL)
    
    SQL = "SELECT * FROM campeggi"
    Set rs = MM_camp3000_STRING.Execute(SQL)
    arrRecord = rs.GetRows
    For I = 0 to UBound(arrRecord,2)
    nDistanze = distanza(Latconv(ns,g,m,s), Latconv(ns,g,m,s), arrRecord(4,i), arrRecord(5,i))
    SQL = "UPDATE campeggi SET distanza_tmp = " & nDistanze & " WHERE id = " & arrRecord(0,i)
    MM_camp3000_STRING.Execute(SQL)
    Next
    
    SQL = "SELECT * FROM campeggi ORDER BY distanza_tmp ASC"
    Set rs = MM_camp3000_STRING.Execute(SQL)
    arrRecord = rs.GetRows
    For I = 0 To UBound(arrRecord, 2)
    ' Mostri i dati
    Next
    Qualcuno sarebbe così gentile da aiutarmi?

  2. #2
    metti una response write dell'sql e commenta la execute, così vedi se qualcuno di quegli updates è formato male.

    codice:
    For I = 0 to UBound(arrRecord,2)
    nDistanze = distanza(Latconv(ns,g,m,s), Latconv(ns,g,m,s), arrRecord(4,i), arrRecord(5,i))
    SQL = "UPDATE campeggi SET distanza_tmp = " & nDistanze & " WHERE id = " & arrRecord(0,i)
    response.write SQL & "
    "
    'MM_camp3000_STRING.Execute(SQL)
    Next
    response.end

  3. #3
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Posto i primi 10/2470 risultati:
    UPDATE campeggi SET distanza_tmp = 6071,3667357644 WHERE id = 1
    UPDATE campeggi SET distanza_tmp = 5320,96936005302 WHERE id = 2
    UPDATE campeggi SET distanza_tmp = 4887,69444054118 WHERE id = 3
    UPDATE campeggi SET distanza_tmp = 6806,75161985217 WHERE id = 4
    UPDATE campeggi SET distanza_tmp = 9751,58172347716 WHERE id = 5
    UPDATE campeggi SET distanza_tmp = 4410,71862766302 WHERE id = 6
    UPDATE campeggi SET distanza_tmp = 6360,29383066047 WHERE id = 7
    UPDATE campeggi SET distanza_tmp = 6727,11348207542 WHERE id = 8
    UPDATE campeggi SET distanza_tmp = 5748,79384382667 WHERE id = 9
    UPDATE campeggi SET distanza_tmp = 8651,68534128234 WHERE id = 10
    Mi pare che non ci sia nulla di strano...cos'è che non va?

  4. #4
    forse distanza_tmp non può ricevere un valore di quel tipo, con tutti quei decimali.

    Prova a copiare uno di quegli UPDATE e ad eseguirlo direttamente dall'esecutore di query del tuo DB. Spesso ritornano degli errori molto più comprensibili di quello generico ritornato da ASP.

    E controlla di che tipo è il campo... o quanti decimali accetta.

  5. #5
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Succede che se incollo uno qualsiasi di quei numeri nel database non mi da alcun errore, ma se provo ad aggiornarlo con la pagina i valori vanno tutti a 0! Ho anche cambiato le proprietà della colonna, adesso è numerica-decimale-precisione doppia, ma niente

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Nel db devi mettere il punto al posto della virgola:

    codice:
    nDistanze = replace(nDistanze, ",", ".")
    Roby

  7. #7
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    AaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaH!!!! Ma guarda te com'è permaloso il database

  8. #8
    ehm, credo che Roby volesse postarti questo

    codice:
    nDistanze = replace(nDistanze, ",", ".")

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    E perché io che ho scritto?? :tongue:

    Roby

  10. #10
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Si si, l'avevo capito...ora funziona tutto, anche se non sono sicuro al 100% del metodo che ho utilizzato

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.