Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
458 views
in Technique[技术] by (71.8m points)

sql server 2008 - Creating a stored procedure via C#

I'm trying to create a seed DB in my web app, and i was able to create the DB, populate the tables, i'm just stuck at getting the stored procedures to work. Here is what i have so far, but im getting CREATE/ALTER PROCEDURE' must be the first statement in a query batch. Incorrect syntax near 'GO'. I tried with removing the GO's too, and also adding 's between the USE statement and the create procedure with no luck. Any help would be appreciated.

StringBuilder sbSP = new StringBuilder();
sbSP.AppendLine("USE [" + txtDBName.Text + "]");
sbSP.AppendLine("GO");
sbSP.AppendLine("CREATE PROCEDURE [spInsertADAuthorization] @AD_Account varchar(255),@AD_SID varchar(255),@AD_EmailAddress varchar(255),@DateImported datetime,@Active bit AS BEGIN SET NOCOUNT ON; INSERT INTO AD_Authorization (AD_Account, AD_SID, AD_EmailAddress, DateImported, Active) VALUES (@AD_Account,@AD_SID,@AD_EmailAddress,@DateImported,@Active) END");
sbSP.AppendLine("GO");
using (SqlConnection connection = new SqlConnection(ConnectionString))
    {

     using (SqlCommand cmd = new SqlCommand(sbSP.ToString(), connection))
                            {
                                connection.Open();
                                cmd.CommandType = CommandType.Text;
                                cmd.ExecuteNonQuery();
                                connection.Close();
                            }
                        }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

"GO" is a batch separator. It's not a T-SQL Statement. Remove the "USE" and both "GO" lines and try again.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...