Estoy tratando de crear un DB inicial en mi aplicación web, y pude crear el DB, poblar las tablas, estoy atascado en conseguir que los procedimientos almacenados funcionen. Esto es lo que tengo hasta ahora, pero estoy obteniendo CREATE/ALTER PROCEDURE 'debe ser la primera declaración en un lote de consulta. \ R \ nIncorrect Sintaxis near' GO '. Intenté eliminar también los GO, y también agregué \ r \ n entre la instrucción USE y el procedimiento de creación sin suerte. Cualquier ayuda sería apreciada.Creando un procedimiento almacenado a través de C#
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();
}
}
has necesitado haciendo caso omiso de la USO por completo y sólo ser explícito en el nombre? '" CREATE PROCEDURE ["+ txtDBName +"] .. [spInsertADAuthorization] ... "' ?? – Dracorat
¿Ha considerado usar primero el Código del Entidad Framework y que genere la base de datos? Raw ADO.NET es mucho trabajo extra. – TrueWill