Query Update Vb.net e Sql Server

martedì 30 dicembre 2014 - 19.09

jekisi Profilo | Senior Member

Salve a tutto il forum, avrei il seguente problema:

Per scrivere una query di Update per Vb.net e Sql Server o fatto così:

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

e va bene, ma se scrivo punteggiatura, tipo l' apostrofo mi da errore (ad esempio se scrivo nella text Ciao 'E')

Sintassi non corretta in prossimità di 'E'.

Per quanto riguarda Vb.Net e Access o fatto uso, in questo caso, di Replace:

sql = "UPDATE Articoli SET Descrizione=" & Chr(34) & DescrizioneTextBox.Text.Replace(Chr(34), "''") & Chr(34) & " where Codice=" & CodiceTextBox.Text

Per quanto riguarda Sql Server come dovrebbe cambiare il codice?




Distinti Saluti


Fabio Messina

ma_di Profilo | Junior Member

Ciao,
in SQL prova a raddoppiare l'apostrofo.

sboss83 Profilo | Newbie

Ciao.
Invece di passare il valore dell'oggetto in modo diretto (che oltre ad essere scorretto è anche potenzialmente pericoloso), prova ad utilizzare i parametri

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters%28v=vs.110%29.aspx

Fammi sapere.

Ciao!
Stefano

jekisi Profilo | Senior Member

Ho provato, tra vari casi, a fare anche così:

sqlstr = "Update Articoli set Descrizione =" & Chr(34) & DescrizioneTextBox.Text.Replace(Chr(34), "''") & Chr(34) & "' where Codice='" & CodiceTextBox.Text & "''"

Errore:

Sintassi non corretta in prossimità di ' where Codice='.

sboss83 Profilo | Newbie

Insisto nel dire che è il concetto ad essere sbagliato; hai provato a leggere quello che ti ho suggerito ?
ad ogni modo il codice è sbagliato perchè inserisci due volte gli apici alla fine della stringa " ' ' "

Stefano
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5