use*_*115 1 sql delphi sql-server-2008-r2 delphi-2010 delphi-xe
我有一个在SQL Server中工作的查询,但是当我在delphi中的ado查询中保存它时它不起作用并停止此错误:
Incorrect syntax near 'GO'
Run Code Online (Sandbox Code Playgroud)
但是下面的代码是正确的,没有任何错误.我在sql server中测试过它.下面的代码不是Regular,因为我从delphi复制并通过它.
我的查询:
create function GetTedad(@pfcode INT, @pdcode INT) returns int
as begin declare @Tedad int;
select @Tedad= sum(t2.tedade_avalie) from Tbl_avalie_salon t2 where t2.FCode = @pfcode and t2.DCode = @pdcode
return (@Tedad); end;
GO
create function getSumBSen2(@pfcode INT, @pdcode INT, @pSen INT) returns int
as begin declare @r int;
select @r= sum(t2.t_shab + t2.t_rooz) from tbl_talafat_dan t2 where t2.FCode = @pfcode and t2.DCode = @pdcode and t2.sen <= @pSen;
return (@r); end;
GO
select t1.sen, sum(t1.d_rooz) as d1, sum(t1.d_shab) as d2, sum(t1.d_rooz + t1.d_shab) as d_sum,
Round((sum((1000*(t1.d_rooz+t1.d_shab)+0.01)/((dbo.GetTedad(81, 1))-(dbo.getSumBSen2(81, 1, t1.sen))))),1) as Saraneh
from tbl_talafat_dan t1 where t1.FCode =81 and t1.DCode = 1 group by t1.sen;
Run Code Online (Sandbox Code Playgroud)
该GO关键字不是SQL Server语句
GO不是Transact-SQL语句; 它是sqlcmd和osql实用程序以及SQL Server Management Studio代码编辑器可识别的命令.
您必须从Delphi代码中删除此语句才能执行您的Sql语句.查看此问题以获取示例How to run a database script file from Delphi?