String 前面带零的Datasnap字符串参数将从零开始修剪

String 前面带零的Datasnap字符串参数将从零开始修剪,string,delphi,parameters,datasnap,String,Delphi,Parameters,Datasnap,我在DataSnap服务器中有一个过程,由GET请求触发并接收单个字符串参数,但每当客户端发送由任意数量的零和任意数量的数字(即01、002、0047等)组成的字符串值时,前导的零不知何故会被截断,我也需要它们 我一直在调试Delphi,试图找出这种情况在哪里发生,如果发生在服务器端,但我没有遇到任何问题。有什么想法吗?也许这会迫使REST进入字符串处理模式: SELECT * FROM TABLE WHERE FIELD = '0'+'1' 但我怀疑单引号应该是双引号: SELECT * F

我在DataSnap服务器中有一个过程,由GET请求触发并接收单个字符串参数,但每当客户端发送由任意数量的零和任意数量的数字(即01、002、0047等)组成的字符串值时,前导的零不知何故会被截断,我也需要它们


我一直在调试Delphi,试图找出这种情况在哪里发生,如果发生在服务器端,但我没有遇到任何问题。有什么想法吗?

也许这会迫使REST进入字符串处理模式:

SELECT * FROM TABLE WHERE FIELD = '0'+'1'
但我怀疑单引号应该是双引号:

SELECT * FROM TABLE WHERE FIELD = "01"
…或引号不是SQL语句的一部分:

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

这可能会迫使REST进入字符串处理模式:

SELECT * FROM TABLE WHERE FIELD = '0'+'1'
但我怀疑单引号应该是双引号:

SELECT * FROM TABLE WHERE FIELD = "01"
…或引号不是SQL语句的一部分:

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

问题解决了,我的客户提出的请求在某种程度上自动转换为整数,只要它“看起来”像一个整数,所以现在该值在引号之间被请求,以便按照它应该的方式转换为字符串


我觉得这样做有点愚蠢。

问题解决了,我的客户提出的请求在某种程度上自动转换为整数,只要它“看起来”像一个整数,所以现在这个值被要求在引号之间,以便它被转换成字符串,这是它应该的方式


我觉得这样做有点愚蠢。

你确定这些引号实际上是字符串的一部分吗?不,但我使用QuotedStr()方法使它适用于SQLYou验证(使用嗅探器、Fiddler2或类似工具)线路上的数据(在GET请求体中)还可以吗?你确定那些引号实际上是字符串的一部分吗?不,但是我使用QuotedStr()方法使它适合SQLYou(使用嗅探器、Fiddler2或类似工具)验证连线上的数据(在GET请求体中)仍然可以吗?这只是我给出的SQL语句的示例,这不是真正的问题。我认为,真正的问题是,在从JSON转换为字符串类型的过程中,我收到的参数前面的零被修剪掉了。这只是我给出的一个示例,说明了SQL中的语句是什么样子,这不是真正的问题。我认为真正的问题是,在从JSON转换为字符串类型的过程中,我收到的参数前面的零被修剪掉了。这实际上是一个bug。检查这个链接:它实际上是一个bug。检查此链接: