Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Beginner
Mar 16, 1998



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Double quotes in queries

OK, suppose you need to include in a query a string which contains both single and double quotes, for example:

UPDATE Books SET Title = "Gulliver's Travels"

I need to save those double quotes, since this is a title. The formatting function must also deal with strings having either one quote type or the other; or no quotes at all. Is this possible?

Whenever you build a SQL string like this, you actually need to enclose literals in single quotes. However, you can see the obvious problem in a name like "Gulliver's Travels" in that the database gets confused when it finds another single quote in the literal.

The simple solution is to replace each single quote in your string with two single quotes next to each other. The correct SQL string you need to send to the database is as follows:

Dim sSQL As String
sSQL = "UPDATE Books SET Title = 'Gulliver''s Travels' WHERE somecondition"
Here is a function to clean your string for you. You can simply wrap each string value before adding it to your SQL string.
Function fnCleanString(sInput As String) As String
   Dim sNewString As String
   Dim i As Integer

   For i = 1 To Len(sInput)
      If Mid$(sInput, i, 1) = "'" Then
         sNewString = sNewString & "''"
         sNewString = Mid$(sInput, i, 1)
      End If
   Next i

   fnCleanString = sNewString
End Function
DevX Pro
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date