【发布时间】:2016-03-11 22:34:21
【问题描述】:
我在 SQL Server 数据库中创建存储过程时遇到问题。这就是我会做的:
public void selectMeetings(String PID)
{
String connection = "Server=localhost;Database=master;Integrated security=true;";
SqlConnection Connection = new SqlConnection();
Connection = new SqlConnection(connection);
Connection.Open();
string script = "USE ["+PID+ "] GO CREATE PROCEDURE selectMeetings AS SELECT * FROM dbo.MEETING GO";
SqlCommand command = new SqlCommand(script, Connection);
try
{
command.ExecuteNonQuery();
}
catch (System.Exception ex)
{
throw ex;
}
}
问题是这样的:
“GO”附近的语法不正确。
'CREATE/ALTER PROCEDURE' 必须是查询批处理中的第一条语句
我试图删除 GO,但问题是:
'CREATE/ALTER PROCEDURE' 必须是查询中的第一条语句 批处理。
如何解决这个问题?谢谢
【问题讨论】:
-
GO是批处理分隔符,而不是 T-SQL。将连接字符串设置为默认目录并删除USE。更多here -
完全正确,那么我该如何解决以进行交易?
-
您需要将其与您正在编码的内容分开......在 SSMS 中尝试并首先将其放在那里,然后将其带回并相应地放入您的代码中。
-
CREATE PROCEDURE selectMeetings AS BEGIN SELECT * FROM dbo.MEETING END并将;Initial Catalog=<your_DB>添加到连接字符串 -
您看到的代码取自 SQL Server 2014 创建存储过程面板时
标签: c# sql-server stored-procedures