From: | Peter Garner <peter_garner(at)yahoo(dot)com> |
---|---|
To: | Atika <agoswa(at)essex(dot)ac(dot)uk>, pgsql-sql(at)postgreSQL(dot)org |
Subject: | Re: [SQL] string containing (') |
Date: | 1999-03-22 00:58:55 |
Message-ID: | 19990322005855.7207.rocketmail@send205.yahoomail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi Atika!
You need to escape the apostrophe, in other words,
"Let's all get stoned"
must be converted to
"Let\'s all get stoned"
Here is some java that does this :
/**
* Massages a <code>String</code> parameter so that parameter is
palatable to the Database. For
* example, "It's a good day!" would be converted to "It\'s a good
day!".
*
* @param string The <code>String</code> we wish to massage
*
* @return A "fixed" version of the Argument
<code>String</code> Object
*/
public static String fixupString ( String string )
{
// Assume a worst case scenario where EVERY byte in the string
needs to be escaped, i.e. make the Length of the NEW
// Buffer twice the Length of the old Buffer
char cCurrent = '\0' ;
char carrBuffer [] = new char [string.length () * 2] ;
int nBuffIdx = 0 ;
for ( int n = 0 ; n < string.length () ; n++ )
{
cCurrent = string.charAt ( n ) ;
// See if the current character is an apostrophe or an '\'. I
think the only reliable way to escape all apostrophes
// and all '\' is to escape each and every one that is
encountered. Otherwise one may not get the original Text back
// out of the DBMS. For example if we have the string
"1234\'5678" and we do not alter it since the apostrophe is
// already escaped, we will get the string "1234'5678" when we
retrieve it FROM the DBMS!
if ( charNeedsEscaping ( cCurrent ) )
{
carrBuffer [nBuffIdx++] = '\\' ;
} /* endif */
carrBuffer [nBuffIdx++] = cCurrent ;
} /* endfor */
String strgReturn = new String ( carrBuffer , 0 , nBuffIdx ) ;
return strgReturn ;
} /* static String fixupString ( String string ) */
---Atika <agoswa(at)essex(dot)ac(dot)uk> wrote:
>
> HI!
> Can anyone help,
> I want to store a string into a relation that might contain an
apostrophe
> ('). Is there anyway around this or can I not store such strings.
> Thanks for your help
==
Peace,
Peter
We are Microsoft of Borg, you will be assimilated!!!
Resistance is fut... ***BZZZRT*** THUD!!!
[General Protection Fault in MSBorg32.DLL]
Please contact the vendor of this Borg for more information
_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Herouth Maoz | 1999-03-22 12:35:12 | Re: [SQL] string containing (') |
Previous Message | Robert McArthur | 1999-03-20 22:42:04 |