[英]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.