elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 05:23  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  Insertar en BD
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Insertar en BD  (Leído 430 veces)
zapala76

Desconectado Desconectado

Mensajes: 44


Ver Perfil
Insertar en BD
« en: 25 Octubre 2011, 21:05 »

Hola, quería consultar como se podría hacer para que me salga un mensaje en c# si se inserto el registro, ya que al presionar el boton no me sale ningun mensaje de error y el registro no se inserta en la base de datos. Gracias y saludos.-


En línea
s00rk

Desconectado Desconectado

Mensajes: 139



Ver Perfil
Re: Insertar en BD
« Respuesta #1 en: 26 Octubre 2011, 00:52 »

Si deceas un poco de ayuda porfavor muestra lo que llevas, para asi poder ayudarte en tus problemas.

Sobre lo que sucede intenta checar en modo debug y deterner ahi en donde haces la inserccion para checar los datos.


En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.214



Ver Perfil WWW
Re: Insertar en BD
« Respuesta #2 en: 26 Octubre 2011, 03:21 »

con MessageBox, pero pone el codigo que usas...
En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
zapala76

Desconectado Desconectado

Mensajes: 44


Ver Perfil
Re: Insertar en BD
« Respuesta #3 en: 26 Octubre 2011, 03:38 »

Está bien, tienen razón es mejor con código, para que se entienda mejor el tema es que al apretar el btn aceptar no hace nada, y que si no inserta, debido a que esta bien que no inserte, me largue un mensaje informando que no pudo insertar, acá va el código:

Código
public void ModificarUsuario(string nombre, string apellido, string estado,
           DateTime fecha_alta, string rol, string legajo)
       {
 
 
           if (Conexion.conectar())
           {
               SqlCommand modifcom = new SqlCommand("modifUsuario", Conexion.conexion);
               modifcom.CommandType = CommandType.StoredProcedure;
 
               modifcom.Parameters.Add("@nombre", SqlDbType.NVarChar);
               modifcom.Parameters.Add("@apellido", SqlDbType.NVarChar);
               modifcom.Parameters.Add("@estado", SqlDbType.NVarChar);
               modifcom.Parameters.Add("@fecha_alta", SqlDbType.DateTime);
               modifcom.Parameters.Add("@rol", SqlDbType.NVarChar);
               modifcom.Parameters.Add("@legajo", SqlDbType.NVarChar);
 
 
               modifcom.UpdatedRowSource = UpdateRowSource.None;
               modifcom.Parameters[0].Value = nombre;
               modifcom.Parameters[1].Value = apellido;
               modifcom.Parameters[2].Value = estado;
               modifcom.Parameters[3].Value = fecha_alta;
               modifcom.Parameters[4].Value = rol;
               modifcom.Parameters[5].Value = legajo;
 
 
               modifcom.ExecuteNonQuery();
 
 
 
           }
   }
 
 
private void btn_acep_Click(object sender, EventArgs e)
       {
 
           RepUsuario moddif_user = new RepUsuario();
           moddif_user.ModificarUsuario(txt_modfNom.Text, txt_modifApe.Text, cmb_modifEstado.Text,
               dtp_modifAF.Value, cmb_modifRol.Text, txt_modifLegajo.Text);
 
       }

Y el store procedure:

Código
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[modifUsuario] (
@nombre CHAR(30),
@apellido CHAR(30),
@fecha_alta datetime,
@rol CHAR(20),
@legajo CHAR(20),
@estado CHAR(20),
)
AS SET nocount ON
BEGIN try
UPDATE usuarios SET nombre = @nombre, apellido = @apellido,
fecha_alta = @fecha_alta, rol = @rol, legajo = @legajo,
estado = @estado WHERE apellido = @apellido

Muchas Gracias.-
« Última modificación: 26 Octubre 2011, 13:27 por Novlucker » En línea
zapala76

Desconectado Desconectado

Mensajes: 44


Ver Perfil
Re: Insertar en BD (Solucionado)
« Respuesta #4 en: 26 Octubre 2011, 17:33 »

Al encontré la solucion modificando el stored procedure de esta forma:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[modifUsuario] (
@idUsuario int,
@nombre char(30),
@apellido char(30),
@fecha_alta datetime,
@rol char(20),
@legajo char(20),
@estado char(20),
@respuesta int output
)

as set nocount on

begin

update usuarios set nombre = @nombre, apellido = @apellido,
fecha_alta = @fecha_alta, rol = @rol, legajo = @legajo,
estado = @estado where idUsuario = @idUsuario
if @@rowcount > 0

set @respuesta=1
 else
set @respuesta=0

return @respuesta
PRINT 'Valor de la respuesta: ' + CONVERT(CHAR(6),@respuesta)
end

y en el codigo le puse asi y funciona:

public void ModificarUsuario(int id, string nombre, string apellido, string estado,
            DateTime fecha_alta, string rol, string legajo)
        {


            if (Conexion.conectar())
            {
                try
                {
                    SqlCommand modifcom = new SqlCommand("modifUsuario", Conexion.conexion);
                    modifcom.CommandType = CommandType.StoredProcedure;

                    modifcom.Parameters.Add("@idUsuario", SqlDbType.Int);
                    modifcom.Parameters.Add("@nombre", SqlDbType.NVarChar);
                    modifcom.Parameters.Add("@apellido", SqlDbType.NVarChar);
                    modifcom.Parameters.Add("@estado", SqlDbType.NVarChar);
                    modifcom.Parameters.Add("@fecha_alta", SqlDbType.DateTime);
                    modifcom.Parameters.Add("@rol", SqlDbType.NVarChar);
                    modifcom.Parameters.Add("@legajo", SqlDbType.NVarChar);
                    modifcom.Parameters.Add("@respuesta", SqlDbType.NVarChar);
                    modifcom.Parameters["@respuesta"].Direction = ParameterDirection.Output;


                    modifcom.UpdatedRowSource = UpdateRowSource.None;
                    modifcom.Parameters[0].Value = id;
                    modifcom.Parameters[1].Value = nombre;
                    modifcom.Parameters[2].Value = apellido;
                    modifcom.Parameters[3].Value = estado;
                    modifcom.Parameters[4].Value = fecha_alta;
                    modifcom.Parameters[5].Value = rol;
                    modifcom.Parameters[6].Value = legajo;
                    modifcom.Parameters[7].Value = "";

                    modifcom.ExecuteNonQuery();
                    string valor = modifcom.Parameters["@respuesta"].Value.ToString();
                    if (valor == "1")
                    {
                        MessageBox.Show("El usuario se actualizó correctamente!");
                    }
                    else
                    {
                        MessageBox.Show("No se pudo actualizar el usuario");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("El legajo le pertenece a otro usuario");
                }
                finally
                {
                    Conexion.conexion.Close();
                }
              }
           
    }

Muchas gracias y saludos
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
insertar en BD
Desarrollo Web
botboat 1 346 Último mensaje 3 Marzo 2004, 13:01
por botboat
insertar audio en avi
Multimedia
sydo 2 509 Último mensaje 23 Septiembre 2005, 20:21
por Songoku
Insertar subtitulos en avi
Multimedia
Flint 1 707 Último mensaje 26 Septiembre 2005, 20:23
por Songoku
Insertar .avi con Dreamweaver
Desarrollo Web
YeKTa 2 2,999 Último mensaje 10 Enero 2006, 01:19
por JuszR
Insertar firmas
Desarrollo Web
mnfox 1 283 Último mensaje 3 Mayo 2006, 04:01
por .Carlos
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines