sqlsafetext
Alex Martelli
aleaxit at yahoo.com
Mon May 7 18:31:57 EDT 2001
"michael montagne" <montagne at boora.com> wrote in message
news:FoEJ6.43651$FS3.483452 at sjc-read.news.verio.net...
> Below is a little function I use to handle such things as "o'brien" in SQL
> strings. It works in VB and I'm trying to port the function to Python.
If
> I type it in interactively, replace returns what I would expect.
> (o''brien), But the function doesn't work. Why?
Because you're not assigning the result of your string.replace
calls to anything. Remember, string objects are immutable:
functions such as string.replace return OTHER string objects,
they DON'T mutate the ones they were given as arguments
(because they can't!). So, you need some rebiding via
assignment statements:
>
> def sqlsafetext(strText):
> if strText=="":
> return "Null"
> else:
> #print strText
> import string
> #replace single quotes with double single quotes
> string.replace(strText,chr(39),chr(39) + chr(39))
strText = strText.replace("'", "''")
&tc.
Alex
More information about the Python-list
mailing list