Hej, Använd parametiserade sql-frågor. Finns flera inlägg om detta bland annat [Insert-sats innehållande ett javascript] Använd SqlParametrar när du skickar datat ner till databasen, de har inbyggd hantering av ' -tecknet. Hej, jag ångrar mig, Problem med enkelfnuttar
jag har ett problem som dyker upp i alla typer av applikationer. Ibland kan användarna i ett fält mata in en enkelfnutt, alltså en '. Dvs det tecken som delar tangent med *. Skickar man ner detta i en SQL-sats så blir det galet, satsen blir ofullständig och man får ett fel.
Vilket är det bästa sättet att lösa detta och samtidigt få med '-tecknet ner i databasen? Har sett lösningar där man helt enkelt tar bort alla dessa tecken men ibland vill man ju faktiskt kunna spara ner ett fält innehållande ett '.
/MagnusSv: Problem med enkelfnuttar
Sv: Problem med enkelfnuttar
Sv: Problem med enkelfnuttar
då systemet nästan är klart är det inte läga att byta till Stored Procedures. Går det att modifiera nedanstående kod för att få det att fungera?
<CODE>
Public Sub dbWrite(ByVal sSql As String)
Dim connObject As New OracleConnection
Dim cmdObject As New OracleCommand
Try
' Set connection string
connObject.ConnectionString = sConnectionString
' Open connection
connObject.Open()
cmdObject.Connection = connObject
cmdObject.CommandText = sSql
' Skall parameters användas här på ngt sätt?
cmdObject.ExecuteNonQuery()
Catch err As Exception
' Handle error in calling layer
Throw err
Finally
' Clean
connObject.Close()
connObject.Dispose()
End Try
End Sub
</CODE>
/MagnusSv: Problem med enkelfnuttar
istället för att skicka in en sql sträng till din funktion, borde du skicka in ett OracleCommand object.
Det objektet får du skapa parametrarna på .