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

    [VB.NET] Probelma con UPDATE

    Ragazzi ho qualche problema con questo UPDATE:
    Se scrivo così
    codice:
    MySQL = "UPDATE tab_dettagli SET " & _
                        "r = @r" & _
                        " WHERE nome = V0101"
    mi dice che il nome colonna V0101 non è valido, eppure ci sono due record nella colonna nome che sono uguali a V0101...

    se invece faccio così funziona

    codice:
    MySQL = "UPDATE tab_dettagli SET " & _
                        "r = @r" & _
                        " WHERE ID_dettagli = " & id_det
    a me però serve il primo caso, perchè ho bisogno di aggiornare più di un record, e nel secondo caso mi aggiorna solo quello con quell'identificativo.
    Spero di essere stato abbastanza chiaro.
    Come devo fare?
    Grazie

  2. #2
    Dunque facendo altre prove ho capito che il problema è costituito dalle lettere.
    Se faccio un paragone solo con argomenti numerici, per esempio:
    WHERE nome = 123456
    funziona.
    Se invece metto anche solo una lettera:
    WHERE nome = 123456a
    allora mi da errore...
    PErchè?

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    E' sempre per motivi come questi che io suggerisco di utilizzare delle query parametriche.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    ma io ho usato una query parametrica:

    codice:
    MyCmd.Parameters.Add("@r", SqlDbType.NVarChar).Value = txtR.Text
    almeno per r.
    per la condizione come faccio?

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Originariamente inviato da zetaweb
    ma io ho usato una query parametrica:
    almeno per r.
    per la condizione come faccio?
    Qualcosa simile a:
    "WHERE campo = @nomepar"

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Dunque facendo altre prove ho capito che il problema è costituito dalle lettere.
    Se faccio un paragone solo con argomenti numerici, per esempio:
    WHERE nome = 123456
    funziona.
    Se invece metto anche solo una lettera:
    WHERE nome = 123456a
    allora mi da errore...
    PErchè?
    Io penso che 123456 è visto come numero mentre 123456a è visto come stringa pertanto va messa tra APICI singoli...prova!
    Ciao

  7. #7
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    confermo che le stringhe vanno tra apici singoli

    'valoretesto'

  8. #8
    giusto con gli apici, che fesso...
    ecco la stringa giusta:
    codice:
    MySQL = "UPDATE tab_dettagli SET " & _
                        "tipo = @tipo, r = @r, a = @a, b = @b, h = @h, c = @c, " & _
                        "fissaggio = @fissaggio, prezzo = @prezzo" & _
                        " WHERE tipo = '" & Tipo & "'"

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.