首页 > 解决方案 > SQL Server存储过程问题通过C#

问题描述

comm = new SqlCommand("create procedure prabhat @para varchar(255) " +
                      "as " +
                      "insert into production.brands(brand_name) values(@para); " + 
                      "  go ", con);

comm.ExecuteNonQuery();

上面的程序显示错误,因为incorrect syntax near go 我不明白可能导致它的原因,请帮忙。我对此很陌生。

标签: c#sql-server-2008

解决方案


我尝试了以下按预期工作的方式

        string connectionString = @"data source=WS-KIRON-01;initial catalog=MyCaseTestDb;integrated security=True;MultipleActiveResultSets=True";
        using (var _connection = new SqlConnection(connectionString))
        {
            _connection.Open();
            using (SqlCommand command = new SqlCommand("create procedure prabhat @para varchar(255) as insert into LocalTestTable (name) values(@para)", _connection))
            {
                SqlDataReader sqlDataReader = command.ExecuteReader();
                sqlDataReader.Close();
            }
            _connection.Close();

        }

注: GO一般用于区分单独的批处理操作SQL。您收到错误是因为您要求SQL server批处理命令,但提供了一个命令,这就是出现该错误的原因。


推荐阅读