繁体   English   中英

Delphi:Delphi和Microsoft SQL Server 2005从函数值进行错误的计算

[英]Delphi: Delphi and Microsoft SQL Server 2005 bad calculations from function values

当我使用Microsoft SQL Server Management Studio在SQL Server 2005上发送此查询时

SELECT dbo.MOV('Hi',10,2) + dbo.MOV('Hi2',8,2)

查询返回400

发送到该函数的任何结果都将返回200,除非最后两个参数(其中0的return值将是100)以及该函数的return的值类型其Decimal(12,2)

问题是,当我在Delphi上执行查询时

Query.SQL.Add('SELECT dbo.MOV(''Hi'',10,2) + dbo.MOV(''Hi2'',8,2)');
Query.Open;
Query.Next;
ShowMessage(Query.Fields[0].AsString);

查询返回200(在消息对话框上),就像SQL Server只是采用第一个功能而忽略第二个功能一样,因此我可以从SQL Server 2005中获得正确的Delphi计算结果。 谢谢。

尝试在Query.SQL.Add之前清除Query.SQL。

Query.SQL.Clear
Query.SQL.Add('SELECT dbo.MOV(''Hi'',10,2) + dbo.MOV(''Hi2'',8,2)');

如果您已经在SQL中存储了查询,则只会看到第一个查询的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM