2012-03-01 3 views
2

DataSnapサーバーでGET要求によってトリガーされ、単一の文字列パラメータを受け取るプロシージャがありますが、クライアントがゼロそれに続く数値(つまり、01,002、0047など)が何らかの形で続くと、先頭の0が切り捨てられ、それも必要です。0より前のDatasnap文字列パラメータはゼロから切り捨てられます

私はこれがどこで起こるかを調べるために、デルファイをデバッグしていましたが、サーバー側で発生した場合は何も出くわしませんでした。何か案は?

モードを扱う文字列にたぶん、この力のREST
+0

これらの引用符は実際には文字列の一部ですか? – NGLN

+0

いいえ、QuotedStr()メソッドを使用してSQL用に作成しました – bpromas

+1

(GET要求本体内の)ワイヤ上のデータがまだOKであることを(スニファ、Fiddler2などのツールを使用して)検証しましたか? – mjn

答えて

0

問題が解決しました。私のクライアントが作成していた要求は、何らかの形で自動化されました整数のように見えるときはいつでも整数に変換されるので、引用符の間に値が要求され、文字列に変換されます。

私はこのように大したことをするのはちょっと馬鹿だと感じています。

+0

これは実際にはバグです。このリンクを確認してください:http://qc.embarcadero.com/wc/qcmain.aspx?d=104535 – MBulli

0

SELECT * FROM TABLE WHERE FIELD = '0'+'1' 

しかし、私は単一引用符、二重引用符のいずれかである必要があり疑う:

SELECT * FROM TABLE WHERE FIELD = "01" 

...または引用符はあなたの一部ではありませんSQL文:

'SELECT * FROM TABLE WHERE FIELD = ''01''' 
+0

これは、文がSQLでどのように見えるかを与えた単なる例であり、それは実際の問題ではありません。本当の問題は、私が受け取るパラメータが、JSONからString型への変換中に先行ゼロがトリムされているということです。 – bpromas

関連する問題