vb.Net 里面 Run SQL语句是出现的问题,请教,

jxzhang615 2007-01-11 10:37:58
在vb.net里面,我从一个.sql的文件里面取出一个sql语句,如下:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[_OrganizationAgencyInfo]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[_OrganizationAgencyInfo]
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

CREATE VIEW dbo._OrganizationAgencyInfo
AS
SELECT dbo.Organization.Name AS Organization, dbo.Organization.OrgID, ActivityTemplate_2.Service AS ItemName,
ActivityTemplate_2.EligibilityDescriptionKey AS ItemKey, - 1 AS ParentKey, ActivityTemplate_2.ServiceType AS ItemType,
dbo.ApplicationMaster.ApplicationName
FROM dbo.Organization INNER JOIN
dbo.Agency ON dbo.Organization.Name = dbo.Agency.AgencyName INNER JOIN
dbo.ActivityTemplate ActivityTemplate_2 ON dbo.Agency.AgencyKey = ActivityTemplate_2.AgencyKey INNER JOIN
dbo.ApplicationMaster ON ActivityTemplate_2.AppID = dbo.ApplicationMaster.AppID
WHERE (ActivityTemplate_2.AgencyKey IN
(SELECT agencykey
FROM agency
WHERE external = 0)) AND (ActivityTemplate_2.ServiceType = N'Application')
UNION ALL
SELECT dbo.Organization.Name AS Organization, dbo.Organization.OrgID, ActivityTemplate_1.Service AS ItemName,
ActivityTemplate_1.EligibilityDescriptionKey AS ItemKey, ActivityTemplate_1.ApplicationCode AS ParentKey,
ActivityTemplate_1.ServiceType AS ItemType, '' AS ApplicationName
FROM dbo.Organization INNER JOIN
dbo.Agency ON dbo.Organization.Name = dbo.Agency.AgencyName INNER JOIN
dbo.ActivityTemplate ActivityTemplate_2 ON dbo.Agency.AgencyKey = ActivityTemplate_2.AgencyKey INNER JOIN
dbo.ActivityTemplate ActivityTemplate_1 ON ActivityTemplate_2.EligibilityDescriptionKey = ActivityTemplate_1.ApplicationCode
WHERE (ActivityTemplate_2.AgencyKey IN
(SELECT agencykey
FROM agency
WHERE external = 0)) AND (ActivityTemplate_1.ServiceType = N'Program')
UNION ALL
SELECT dbo.Organization.Name AS Organization, dbo.Organization.OrgID, ActivityTemplate_3.Service AS ItemName,
ActivityTemplate_3.EligibilityDescriptionKey AS ItemKey, ActivityTemplate_3.ApplicationCode AS ParentKey,
ActivityTemplate_3.ServiceType AS ItemType, '' AS ApplicationName
FROM dbo.Organization INNER JOIN
dbo.Agency ON dbo.Organization.Name = dbo.Agency.AgencyName INNER JOIN
dbo.ActivityTemplate ActivityTemplate_2 ON dbo.Agency.AgencyKey = ActivityTemplate_2.AgencyKey INNER JOIN
dbo.ActivityTemplate ActivityTemplate_1 ON ActivityTemplate_2.EligibilityDescriptionKey = ActivityTemplate_1.ApplicationCode INNER JOIN
dbo.ActivityTemplate ActivityTemplate_3 ON ActivityTemplate_1.EligibilityDescriptionKey = ActivityTemplate_3.ApplicationCode
WHERE (ActivityTemplate_2.AgencyKey IN
(SELECT agencykey
FROM agency
WHERE external = 0))

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

该语句在查询分析器里执行没有错

在vb里面执行command时,提示如下错误:
Line 3: Incorrect syntax near 'GO'.
Line 6: Incorrect syntax near 'GO'.
Line 8: Incorrect syntax near 'GO'.
'CREATE VIEW' must be the first statement in a query batch.
Line 49: Incorrect syntax near 'GO'.
Line 51: Incorrect syntax near 'GO'.
Line 53: Incorrect syntax near 'GO'.



请问各位该怎么解决,谢谢
...全文
845 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
errorlogin 2007-01-15
  • 打赏
  • 举报
回复
不要go,用;
mll5644 2007-01-12
  • 打赏
  • 举报
回复
GO就不是SQL语句
milchcow 2007-01-12
  • 打赏
  • 举报
回复
用;号代替GO
jxzhang615 2007-01-11
  • 打赏
  • 举报
回复
查询分析器里执行一下没有错误,用存储过程执行还是又错误,
水如烟 2007-01-11
  • 打赏
  • 举报
回复
运行这个:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[_OrganizationAgencyInfo]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[_OrganizationAgencyInfo]
再运行CREATE VIEW dbo._OrganizationAgencyInfo.

或者尝试用;代替Go,看看.我没试过.
水如烟 2007-01-11
  • 打赏
  • 举报
回复
我也曾这样用过,是不行.
你可以以GO拆取,分别Excute
gpyrbn 2007-01-11
  • 打赏
  • 举报
回复
先把这些语句在查询分析器里执行一下看看有没有错误,如果没有那么就把这些语句写到存储过程去执行!
gpyrbn 2007-01-11
  • 打赏
  • 举报
回复
把这些语句写到一个存储过程里,例如 query.
然后把 command.commandtype=commandtype.procedure
执行一下估计可以的!
vinsonhwj 2007-01-11
  • 打赏
  • 举报
回复
会否你的连接不是SqlClient?
jxzhang615 2007-01-11
  • 打赏
  • 举报
回复
谢谢各位
ghao0 2007-01-11
  • 打赏
  • 举报
回复
每一个Go段用一个Command
ghao0 2007-01-11
  • 打赏
  • 举报
回复
go改为;
51Crack 2007-01-11
  • 打赏
  • 举报
回复
程序里执行是不能有"GO"的

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧