Solved

MSSQL UPDATEGRAM and '$'

Posted on 2002-05-21
8
293 Views
Last Modified: 2008-02-01
Here is my updategram:

<?xml version="1.0" ?>
<root xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:sync>

<updg:before>
<msj_currency_v2 currencyID="1" currencyName="US dollar" currencySymbol="s" currencyStatus="1" />
</updg:before>

<updg:after>
 <msj_currency_v2 currencyID="1" currencyName="US dollar" currencySymbol="$" currencyStatus="1" />
</updg:after>

</updg:sync>
</root>

I am posting it into the following MSSQL table:

currencyID     int     4
currencyName     varchar     100
currencySymbol     varchar     3
currencyStatus     int     4

The updategram errors when currencySymbol="$".

The error via VB updategram test app:

"disallowed implicit conversion from datatype money to datatype varchar .. use the convert function
to run this query."

How do i run the "convert function" inside an updategram???? Or is a schema required .. if so can you please provide.

The problem is posting a "$" into a varchar field via an updategram ... MSSQL tries to convert it to
datatype money and errors.

If i post "A$" or "$u" the updategram works fine.

Thanks
0
Comment
Question by:greenrc
  • 5
  • 2
8 Comments
 
LVL 5

Expert Comment

by:spcmnspff
ID: 7025116
The best way I see to handle this is with a trigger.

Inside your updategram insert this for the '~$' dollar sign.  (This may take a vb line or two to concatenate the tilda if the symble = "$".) Now create a trigger on your table like this:

Create Trigger trDollarSign ON CurencyTable Insert, Update AS

Update CT
Set CurrencySymbol = Char(36)
From CurrencyTable CT, Inserted I
WHERE CT.CurrencyID = I.CurrencyID
 AND I.CurrencySymbol = '~$'

go
0
 
LVL 5

Expert Comment

by:spcmnspff
ID: 7025126
Oops, that create trigger statement won't run use this one:

Create Trigger trDollarSign ON CurencyTable for Insert, Update AS

Update CT
Set CurrencySymbol = Char(36)
From CurrencyTable CT, Inserted I
WHERE CT.CurrencyID = I.CurrencyID
AND I.CurrencySymbol = '~$'

go
0
 
LVL 5

Expert Comment

by:spcmnspff
ID: 7025147
You could also use the more sophisticated instead of trigger here:


Create Trigger trDollarSign ON CurencyTable Instead of Insert, Update AS

Insert Into CurrencyTable
Select * from Inserted
WHERE I.CurrencySymbol <> '~$'

Insert Into CurrencyTable
(currencyID, currencyName, currencysymbol, currencyStatus)
Select  currencyID, currencyName, Char(36), currencyStatus
from Inserted
WHERE I.I.CurrencySymbol = '~$'

go
0
 
LVL 5

Accepted Solution

by:
spcmnspff earned 300 total points
ID: 7025154
Sorry once again that won't work.  Try this one:

Create Trigger trDollarSign ON CurencyTable Instead of Insert, Update AS

Insert Into CurrencyTable
Select * from Inserted I
WHERE CurrencySymbol <> '~$'

Insert Into CurrencyTable
(currencyID, currencyName, currencysymbol, currencyStatus)
Select  currencyID, currencyName, Char(36), currencyStatus
from Inserted
WHERE CurrencySymbol = '~$'
go
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 

Author Comment

by:greenrc
ID: 7029770
going to test it out .. thanks ... get back to you soon.
0
 
LVL 5

Expert Comment

by:spcmnspff
ID: 7052281
How did this turn out?
0
 

Expert Comment

by:CleanupPing
ID: 9280472
greenrc:
This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1
EXPERTS:
Post your closing recommendations!  No comment means you don't care.
0
 

Author Comment

by:greenrc
ID: 9284142
worked fine .. thanks
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
c# code 19 59
Ranking Based On Value 3 29
What's the difference between these two "qualifiers?" 3 33
SQL Connection (Error 18456) 14 34
Nowadays, some of developer are too much worried about data. Who is using data, who is updating it etc. etc. Because, data is more costlier in term of money and information. So security of data is focusing concern in days. Lets' understand the Au…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Via a live example combined with referencing Books Online, show some of the information that can be extracted from the Catalog Views in SQL Server.

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now