【发布时间】:2012-05-23 09:22:57
【问题描述】:
我正在使用 SQLDataAdapter 运行脚本。脚本如下,
ALTER TABLE dbo.Table1 SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
select Has_Perms_By_Name(N'dbo.Table1', 'Object', 'ALTER') as ALT_Per, Has_Perms_By_Name(N'dbo.Table1', 'Object', 'VIEW DEFINITION') as View_def_Per, Has_Perms_By_Name(N'dbo.Table1', 'Object', 'CONTROL') as Contr_Per BEGIN TRANSACTION
GO
ALTER TABLE dbo.Table2
DROP CONSTRAINT DF_Table2
GO
它给了我错误,因为 GO 附近的语法不正确。如果我从查询文本中删除 GO,它可以正常工作。但我只需要执行这个脚本。
这是一个 c# 代码。 QueryText 是一个字符串,它包含整个查询以及 SET 和 GO。
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection(_connectionString);
SqlDataAdapter da = new SqlDataAdapter(QueryText, conn);
da.Fill(ds);
有谁知道怎么用。
提前致谢,
维杰
【问题讨论】:
-
上述脚本的哪一部分需要运行?如果您删除所有
GO(以及BEGIN/COMMIT),您可以成功运行它吗?你能告诉我们你的代码吗? -
如果我用分号替换 GO,它似乎可以工作。但不确定这是否是正确的做法。
-
@Vijay,go 标签用于 Go 语言。你能把它从问题中删除吗?谢谢。
标签: c# sql sqldataadapter