Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313

    [vb6] query sbagliata su vb ma non su access

    ciao,

    eseguo la seguente query direttamente in access e funziona:
    codice:
    INSERT INTO [user] (name, first_name, user_name, password, [group], default_lang) VALUES ('te', 're', 'we', 'hh', 2, 2);
    ma se la eseguo tramite vb6 non funziona:
    codice:
    q = "INSERT INTO [user] (name, first_name, user_name, password, [group], default_lang) VALUES ('te', 're', 'we', 'hh', 2, 2);"
    
    dbConn.Execute q
    l'errore: syntax error in insert statement

    :master:
    alcool: la causa e la soluzione di tutti i problemi

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    password e' una parola riservata ... mettila tra parentesi quadre ...

  3. #3
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    ok! sei un mito! oggi mi hai tirato fuori da quei problemi idioti a cui non avrei trovato soluzione neanche a cercare tutto il giorno
    alcool: la causa e la soluzione di tutti i problemi

  4. #4
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    lo so... non mi fermo un attimo con le domande...

    pero ci provo lo stesso:

    per costruire la query descritta sopra, parto dalle informazioni che ci sono in vari textbox. il problema é che se un utente mi mette un bell'apostrofo la query non va piu!

    come posso fare l'escape dell'apostrofo quando eseguo la query? e come posso ripulire il tutto quando creo il recordset che poi assegno al datagrid che lo mostra?

    grazie mille per le risposte
    alcool: la causa e la soluzione di tutti i problemi

  5. #5
    Utente di HTML.it L'avatar di tippolo
    Registrato dal
    Dec 2005
    Messaggi
    103
    ciao
    Quote Originariamente inviata da Gumble
    .............il problema é che se un utente mi mette un bell'apostrofo la query non va piu!
    e tu obbliga l'utente a non inserire apostrodi


    codice:
       If KeyAscii = 39 Then
          KeyAscii = 96 '32
       End If

  6. #6
    altrimenti metti una funzione che cerca gli apostrofi nei parametri e se c'è lo raddoppia...

    codice:
    INSERT INTO [user] (name, first_name, user_name, password, [group], default_lang) VALUES ('t''e', 're', 'we', 'hh', 2, 2);
    I database... la mia passione + o -

  7. #7
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    Originariamente inviato da tippolo
    ciao
    Quote Originariamente inviata da Gumble
    .............il problema é che se un utente mi mette un bell'apostrofo la query non va piu!
    e tu obbliga l'utente a non inserire apostrodi


    codice:
       If KeyAscii = 39 Then
          KeyAscii = 96 '32
       End If
    questo non lo posso fare... perché é possibile che ci sia l'apostrofo in alcuni campi di testo
    alcool: la causa e la soluzione di tutti i problemi

  8. #8
    Utente di HTML.it L'avatar di tippolo
    Registrato dal
    Dec 2005
    Messaggi
    103
    questo non lo posso fare... perché é possibile che ci sia l'apostrofo in alcuni campi di testo
    Hai provato il codice che ti ho postato, prima di dire che non si può fare?

  9. #9
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    Originariamente inviato da tippolo
    Hai provato il codice che ti ho postato, prima di dire che non si può fare?
    scusami... é che ho interpretato il "obbliga l'utente a non inserire apostrofi" come un divieto e non ho letto il codice.

    se ho capito, cambi il carattere... lo provo lunedi. grazie
    alcool: la causa e la soluzione di tutti i problemi

  10. #10
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao Gumble,
    Anziché operare sui campi del DB conviene verificare il contenuto del controllo prima
    d'inserirlo nel relativo Campo, con la funzione Replace, come segue:

    codice:
    & "values('" & Replace(FrmDCF.Text1.Text, "'", "''") & "', '" &  ......
    LM

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.