Autor
|
Tema: Insertar en BD (Leído 3,309 veces)
|
zapala76
Desconectado
Mensajes: 48
|
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
Mensajes: 195
|
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
|
con MessageBox, pero pone el codigo que usas...
|
|
|
En línea
|
|
|
|
zapala76
Desconectado
Mensajes: 48
|
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: 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: 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 pm por Novlucker »
|
En línea
|
|
|
|
zapala76
Desconectado
Mensajes: 48
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Insertar subtitulos en AVI o MPG (bis)
Multimedia
|
Comandante
|
4
|
3,927
|
21 Noviembre 2004, 06:03 am
por Songoku
|
|
|
insertar imagen
Sugerencias y dudas sobre el Foro
|
arabik
|
6
|
3,512
|
28 Abril 2005, 16:40 pm
por aNexos
|
|
|
Insertar una imagen en un MP3
Multimedia
|
G3N3S1S
|
2
|
3,310
|
16 Julio 2005, 19:50 pm
por G3N3S1S
|
|
|
insertar audio en avi
Multimedia
|
sydo
|
2
|
2,050
|
23 Septiembre 2005, 20:21 pm
por Songoku
|
|
|
Necesito insertar 2 DLL a mi App ?
.NET (C#, VB.NET, ASP)
|
TrashAmbishion
|
1
|
1,826
|
25 Abril 2013, 08:39 am
por kub0x
|
|