Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    87

    Query Update Vb.net e Sql Server

    Salve a tutto il forum, avrei il seguente problema:

    Per fare una query di Update da Vb.Net per Db di Sql Server o scritto così:

    sqlstr = "Update Articoli set Descrizione ='" & DescrizioneTextBox.Text & "' where Codice='" & CodiceTextBox.Text & "'"

    Fin quando non scrivo punteggiatura ecc.... nel campo Descriozione la query va bene:

    Se scrivo ad esempio Ciao.

    Ma se scrivo punteggiatura ecc.... (Sempre nel campo Descrizione) mi da errore, se scrivo ad esempio:

    Ciao 'E'

    Come dovrei cambiare la query in questo caso?

    Distinti Saluti

    Fabio Messina

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    La cosa migliore è imparare ad usare le query parametriche, ma se vuoi risolvere il problema velocemente puoi usare:
    codice:
    sqlstr =  "Update Articoli set Descrizione ='" & DescrizioneTextBox.Text.Replace("'", "''") &  "' where Codice='" & CodiceTextBox.Text & "'"


    Sergio


  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Si può risolvere velocemente anche utilizzando il Command con Parametri (vedi mio progetto in firma su ADO.NET), anzi direi che non si usa più scrivere enunciati SQL come indicato da SirJo (scusa la franchezza).

    Tra l'altro, anche Codice è un campo di testo, quindi bisognerebbe usare Replace() anche con quel campo.
    Poi, quando si avrà bisogno di campi di tipo DateTime, si dovranno formattare anche tutte le date (la qual cosa può cambiare a seconda del tipo di database utilizzato).

    L'uso di query che includono un miscuglio 'strano' di controlli, campi, formattazioni e concatenamenti è altamente scoraggiato e sconsigliato, oltre al fatto dell'enorme difficoltà di eseguire DEBUG e/o manutenere il codice perché complicano la lettura del codice stesso, al punto che spesso (quasi sempre) creano problemi ed occorre un lavoro da 'certosino' solo per raccapezzarcisi.

    @jekisi
    Non complicarti la vita da solo: scegli al strada più intelligente, pratica e semplice dei Command con Parametri.

    P.S.
    Proprio in questi giorni, avantaggiato dal fatto che gli utenti in azienda sono in ferie, ho migrato un'applicazione da database Access a SQL Server 2012.
    Grazie all'uso dei Command mi è bastato modificare 2 righe di codice (dico DUE) di cui una riga era quella della ConnectionString e l'atrla era quella di una mia funzione.
    Tempo impiegato? 1 ora in tutto.
    Se non avessi preventivamente (e saggiamente) usato i Command sarebbe stato un bagno di sangue.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    87
    Grazie del Replace, era proprio ciò che cercavo.

    Distinti Saluti

    Fabio Messina

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.