Si consiglia di utilizzare SQL parametrizzato invece di creare un'istruzione SQL ad hoc come questa, in quanto è possibile lasciarla aperta all'iniezione SQL. Ciò significa che non è necessario preoccuparsi di concatenare le virgolette nella stringa, nonché migliorare le prestazioni della query (supponendo SQL Server) poiché consente la memorizzazione e il riutilizzo del piano di esecuzione.
ad es.
Dim sql As String = "Select * from Usertask Where UserId = ? AND JobID = ?"
Quindi aggiungere 2 ADODB.Parameters all'oggetto Command per fornire i valori per i parametri 2 esempio
Set param = New ADODB.Parameter
param.Name = "@UserId"
param.Direction = adParamInput
param.Type = adVarChar
param.Size = (give size of user id field)
param.value = Session("UserId")
yourADOCommand.Parameters.Append param
E lo stesso di nuovo per il parametro JobId.
Avete bisogno di virgolette doppie o singole? Solitamente SQL usa virgolette singole e non penso che sarebbe un problema in una stringa. –
@Adonis L, potresti voler cambiare il titolo della domanda. Potrebbe essere più appropriato chiamarlo "Escaping quotes in a string in VB6" o qualcosa del genere. –