芭
芭芭拉
Unregistered / Unconfirmed
GUEST, unregistred user!
以下是SQL任务自动产生的SQL脚本,我要将此脚本在DELPHI中运行,目的是为了覆盖原来的存储过程
可试了好几个方法,均无法实现.
//以下是SQL脚本
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[test1]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [test1] AS
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
//实现有第一个方法
filename:='c:/sql.txt';
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.LoadFromFile(filename);
ADOQuery1.ExecSQL;
如果将GO去掉后,运行提示"create procedure 必须是批查询中的第一条语句"
如果不将GO去掉,运行后提示第3行GO附近有错误。
//实现有第二个方法
写了个存储过程
CREATE PROCEDURE sp_ExecSQL(@strSQl text) AS
exec(@strsql)
GO
调用时
filename:='c:/sql.txt';
RichEdit1.Lines.LoadFromFile(filename);
with SP_exec do
begin
close;
procedurename:='sp_ExecSQL;1';
Parameters.ParamByName('@strSQl').Value:=RichEdit1.Lines.Text;
ExecProc;
close;
end;
如果将GO去掉后,运行提示"create procedure 必须是批查询中的第一条语句"
如果不将GO去掉,运行后提示第7行GO附近有错误。
可试了好几个方法,均无法实现.
//以下是SQL脚本
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[test1]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [test1] AS
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
//实现有第一个方法
filename:='c:/sql.txt';
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.LoadFromFile(filename);
ADOQuery1.ExecSQL;
如果将GO去掉后,运行提示"create procedure 必须是批查询中的第一条语句"
如果不将GO去掉,运行后提示第3行GO附近有错误。
//实现有第二个方法
写了个存储过程
CREATE PROCEDURE sp_ExecSQL(@strSQl text) AS
exec(@strsql)
GO
调用时
filename:='c:/sql.txt';
RichEdit1.Lines.LoadFromFile(filename);
with SP_exec do
begin
close;
procedurename:='sp_ExecSQL;1';
Parameters.ParamByName('@strSQl').Value:=RichEdit1.Lines.Text;
ExecProc;
close;
end;
如果将GO去掉后,运行提示"create procedure 必须是批查询中的第一条语句"
如果不将GO去掉,运行后提示第7行GO附近有错误。