Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    Errore in query INSERT INTO in MySQL

    Ciao a tutti.

    Ho una query insert into che va in errore in mysql.
    Il campo della tabella dove provo l'inserimento è un longtext.

    codice:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 
    
    [MySQL][ODBC 5.1 Driver][mysqld-5.0.45-community-nt-log]You have an error in your SQL syntax; 
    check the manual that corresponds to your MySQL server version 
    for the right syntax to use near ''EM.06' at line 1 
    
    /Default.asp, line 180
    Nella query che va in errore sembra esserci un apice in più nella stringa, ma se vado direttamente nella tabella questo apice non si vede e non lo trovo.

    Ho provato con un replace degli apici ma non funziona, da cosa può dipendere?

    codice:
    replace(Rs("EM"), " ' ", " ' ' ")
    Grazie.

  2. #2
    spero che qui

    replace(Rs("EM"), " ' ", " ' ' ")

    NON ci siano VERAMENTE gli spazi

  3. #3
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    spero che qui

    replace(Rs("EM"), " ' ", " ' ' ")

    NON ci siano VERAMENTE gli spazi
    No, nessuno spazio:

    replace(Rs("EM"), "'", "''")

  4. #4
    ----------------------------------------------------
    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
    ----------------------------------------------------

  5. #5
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    ----------------------------------------------------
    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
    ----------------------------------------------------
    Ho risolto inserendo nella query insert into questa condizione:

    codice:
               if trim(Rs("EM")) = "'EM.06" then
                  SQL = SQL & "   , 'EM.06' "
               elseIf Trim(Rs("EM") & "[]") = "[]" then
                  SQL = SQL & "   , '' "
               else           
                  SQL = SQL & "   , '" & replace(trim(Rs("EM")), "'", "''") & "' "      
               end if
    Grazie x l'interessamento.

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.