Inserting text with $ in runPrepUpdate() returns error

I am running the system.db.runPrepUpdate statement with the getKey=1 option and get an error if there is a $ in the text field I am writting to a varchar in the db. Here is the actual error details:

[quote]Traceback (innermost last):

File “event:actionPerformed”, line 350, in ?

java.lang.Exception: Error executing system.db.runPrepUpdate(Insert into dbo.tblComplaint (FirstName,LastName,MailingAddress,City,State,ZipCode,Phone,EMail,SalesContact,ConsumerStatement,ComplaintType,Consumer,VJC,Research,ResponseText,PRKYN,DateReceived,CheckAmt,PackageID,PackageType,PackageTypeDetail,PurchaseLocation,Injury,TreatmentRequired,ConsumerSatisified,BreweryAction,OI) Values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?), [Ron, Mayfield, 1075 East 20th St., Chico, CA, , , , , This is a test as the $ seems to be causing issues., Quality, 1, , , , No, 01/25/2012, 0.0, , Bottle, , , No, No, Yes, , No], , , true)

Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Unable to read response from Gateway.

Caused by: org.xml.sax.SAXParseException: The element type “ResponseWrapper” must be terminated by the matching end-tag “”.

java.lang.Exception: java.lang.Exception: Error executing system.db.runPrepUpdate(Insert into dbo.tblComplaint (FirstName,LastName,MailingAddress,City,State,ZipCode,Phone,EMail,SalesContact,ConsumerStatement,ComplaintType,Consumer,VJC,Research,ResponseText,PRKYN,DateReceived,CheckAmt,PackageID,PackageType,PackageTypeDetail,PurchaseLocation,Injury,TreatmentRequired,ConsumerSatisified,BreweryAction,OI) Values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?), [Ron, Mayfield, 1075 East 20th St., Chico, CA, , , , , This is a test as the $ seems to be causing issues., Quality, 1, , , , No, 01/25/2012, 0.0, , Bottle, , , No, No, Yes, , No], , , true)

Ignition v7.3.3 (b570)
Java: Sun Microsystems Inc. 1.6.0_30
[/quote]

The dollar sign is reserved for use in regular expression evaluation in Python, Java, and I think MySQL. A veritable trifecta!

Unless there’s a reason you really, really need a dollar sign in the field, I’d recommend avoiding it altogether…

Any chance we could that snippet of the script to look over, to be sure I’m not just whistling?

This has been replicated and will be fixed in the next 7.3 version.