Foros del Web » Programación para mayores de 30 ;) » .NET »

Como Ejecutar procedimiento?

Estas en el tema de Como Ejecutar procedimiento? en el foro de .NET en Foros del Web. Que tal weyes, estoy aquí con VS 2005 y C#. Ya me se ejecutar procedimientos almacenados para llenar dataset's, así: Código: String; ConnectionString = "string ...
  #1 (permalink)  
Antiguo 04/07/2007, 14:39
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Pregunta Como Ejecutar procedimiento?

Que tal weyes, estoy aquí con VS 2005 y C#. Ya me se ejecutar procedimientos almacenados para llenar dataset's, así:

Código:
String;
    ConnectionString = "string de conexion"
    SqlConnection cn = new SqlConnection(ConnectionString);
    SqlCommand cm = new SqlCommand("NombreProcedimiento, cn);
    cm.CommandType = CommandType.StoredProcedure;

    cm.Parameters.AddWithValue("NombreParametro", "ValorParametro");

    DataSet dts = new DataSet();
    SqlDataAdapter ad = new SqlDataAdapter(cm);
    ad.Fill(dts);
Pero esto me obliga a llenar un dataset. Pero si yo quiero enviarle parámetros para que haga inserts no necesito que me devuelva un dataset, simplemente que ejecute mi procedimiento. Es con executenonquery?
  #2 (permalink)  
Antiguo 04/07/2007, 15:22
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Re: Como Ejecutar procedimiento?

Y si ya sabe, para que pregunta?

Código:
            SqlConnection sqlConnection = new sqlConnection(connectionString);
            SqlCommand sqlCommand = new SqlCommand("stp_algo", sqlConnection);
            sqlCommand.CommandType = CommandType.StoredProcedure;
            sqlCommand.Parameters.Add(new SqlParameter("@parameter", id));

            sqlConnection.Open();
            sqlCommand.ExecuteNonQuery();
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 04/07/2007, 15:33
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Re: Como Ejecutar procedimiento?

Cita:
Iniciado por u_goldman Ver Mensaje
Y si ya sabe, para que pregunta?
...
lo mismo digo

yo tengo esto haber si te sirve... inútil

Código:
SqlConnection conexion = new SqlConnection(control.cadenaConexion);
            SqlCommand comando = new SqlCommand();
            try
            {

                comando.CommandType = CommandType.StoredProcedure;
                comando.CommandText = "sp_altaMenuPrincipal";
                comando.Connection = conexion;
                comando.Parameters.Add("@descripcion", SqlDbType.VarChar).Direction = ParameterDirection.Input;
                comando.Parameters[0].Value = txtPrincipal.Text.ToUpper();
                conexion.Open();
                comando.ExecuteNonQuery();

            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                if (conexion != null)
                {
                    MessageBox.Show("insertado");

                    conexion.Close();
                }
            }
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #4 (permalink)  
Antiguo 04/07/2007, 16:49
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Re: Como Ejecutar procedimiento?

Es que no sabía exactamente como era la movida, me refiero a que no recordaba como usarlo Es la costumbre de usar capas de acceso a datos ya hechas, ahora me toca a mi hacer una sencilla y no estoy muy familiarizado con los métodos de conexión

La cosa es que necesito llamar a un procedimiento y que me devuelva un parámetro de salida

Gracias por sus códigos, la cosa va por ParameterDirection.Input
  #5 (permalink)  
Antiguo 04/07/2007, 16:52
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Re: Como Ejecutar procedimiento?

Oye erick, una pregu, que es lo que haces en:

Código:
comando.Parameters.Add("@descripcion", SqlDbType.VarChar).Direction = ParameterDirection.Input;
                comando.Parameters[0].Value = txtPrincipal.Text.ToUpper();
Si mi procedimiento recibe un parámetro tipo output quiero rescatarlo en alguna variable de .net
  #6 (permalink)  
Antiguo 04/07/2007, 17:04
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Re: Como Ejecutar procedimiento?

ah mira...

Código:
SqlConnection conexion = new SqlConnection(control.cadenaConexion);
            SqlCommand comando = new SqlCommand();
            comando.CommandText = "sp_urlImg";
            comando.CommandType = CommandType.StoredProcedure;
            comando.Connection = conexion;
            comando.Parameters.Add("@id", SqlDbType.Int32).Direction = ParameterDirection.Input;
            comando.Parameters["@id"].Value = Convert.ToInt32(cmbMarca.SelectedValue);//aquí esta un input, un dato que inserte

            comando.Parameters.Add("@dato", SqlDbType.VarChar,100).Direction = ParameterDirection.Output;
            try
            {
                conexion.Open();
                comando.ExecuteNonQuery();
                imagen = Convert.ToString(comando.Parameters["@dato"].Value);//este es el buenas...
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                if (conexion != null)
                    conexion.Close();
            }
Si vez, cuando ejecuto el comando obtengo un dato, ya todo depende a que tipo lo quieras convertir... espero te haya servido este código, el mismo lo tenía con MySql y ahorita lo edite para pasártelo, espero te funcione

Lo que hace este código es seleccionar un value de un combo box y de allí obtengo una ruta, esa ruta es el string que obtiene mi imagen.
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #7 (permalink)  
Antiguo 04/07/2007, 17:19
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Re: Como Ejecutar procedimiento?

Gracias erick. Ya lo tengo claro. Debo de especificarle la dirección a cada parámetro y luego los que son de salida los puedo chupar

  #8 (permalink)  
Antiguo 04/07/2007, 17:40
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Re: Como Ejecutar procedimiento?

Oigan disculpen, el fondo de todo no era como llamar a un procedimiento sino como hacer para que me devuelva un parámetro, no fue un título del tema acertado, como tenía dudas en el código para llamar al procedimiento me fui por otros lados
  #9 (permalink)  
Antiguo 04/07/2007, 18:44
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Re: Como Ejecutar procedimiento?

Cita:
Iniciado por Developer9 Ver Mensaje
Oigan disculpen, el fondo de todo no era como llamar a un procedimiento sino como hacer para que me devuelva un parámetro, no fue un título del tema acertado, como tenía dudas en el código para llamar al procedimiento me fui por otros lados
PLOP! si...ya me di cuenta
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 05/07/2007, 08:15
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Re: Como Ejecutar procedimiento?

Bueno, siquiera le puede servir de información a otra persona también...
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #11 (permalink)  
Antiguo 05/07/2007, 08:20
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Re: Como Ejecutar procedimiento?

Cita:
Iniciado por u_goldman Ver Mensaje
PLOP! si...ya me di cuenta
Es que no me tienen paciencia

Cita:
Iniciado por erick_arcini Ver Mensaje
Bueno, siquiera le puede servir de información a otra persona también...


Pero sería de cambiarle el título a:

Como Ejecutar procedimiento con Parametros de salida?

Ojala el moredador Rootk ande cerca
  #12 (permalink)  
Antiguo 05/07/2007, 12:16
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Re: Como Ejecutar procedimiento?

pues yo lo coloque en las faq's que nadie lee...

http://www.forosdelweb.com/showthrea...=206048&page=5
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #13 (permalink)  
Antiguo 28/08/2007, 08:24
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 17 años
Puntos: 0
Pregunta Re: Como Ejecutar procedimiento?

hola kisiera ke me ayudaran a utilizar unos parametros de salida ke tengo desde mi procedimiento almacenado en sql poderlos usar con php como variable aki mo pa
CREATE PROCEDURE CA_TICKET (
@NOTICKET NUMERIC,
@CLIENTE VARCHAR(30) OUTPUT,
@CLASIFICACION NUMERIC OUTPUT ,
@FECHA DATETIME OUTPUT,
@ESTATUS VARCHAR(10) OUTPUT,
@DETALLE VARCHAR(100) OUTPUT,
@PRIORIDAD NUMERIC OUTPUT
)AS
BEGIN
BEGIN TRAN
SELECT @CLIENTE = CLIENTE, @CLASIFICACION = CASIFICACION, @FECHA = FECHA , @ESTATUS = ESTATUS, @DETALLE = DETALLE, @PRIORIDAD = PRIORIDAD
FROM TICKET
WHERE TICKET_ID = @NOTICKET;
RETURN
IF (@@error!=0)BEGIN
--RAISERROR 20000
ROLLBACK TRAN
RETURN(1)

END
COMMIT TRAN

END
GO
  #14 (permalink)  
Antiguo 28/08/2007, 10:54
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Re: Como Ejecutar procedimiento?

Procesando... espere por favor...
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:37.