Académique Documents
Professionnel Documents
Culture Documents
de
comprobacin
para
asegurar
que
la
operacin
fue
satisfactoria.
Realizando una prueba.
Diseo de la forma:
Cdigo de la aplicacin:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;//libreria para manejar sql
namespacePersonal
{
public partial class Form1 : Form
{
publicForm1()
{
InitializeComponent();
}
privatevoid btnguardar_Click(objectsender, EventArgs e)
{
//declaramos una cadena de conexin con los datos de nuestro
//manejador y la base de datos
string cadenaconexion = @Data Source=HUGUITO-PC\HUGO;Initial
Catalog=Prueba;Integrated Security=True;
//una variable boleana para determinar si se realiz la operacin
//que realiza el procedimiento almacenado, la inicializamos como false
comando.Parameters.AddWithValue(@Apellp, txtapellp.Text);
comando.Parameters.AddWithValue(@Apellm, txtapellm.Text);
comando.Parameters.AddWithValue(@Edad,Convert.ToInt32(txtedad.Text));
comando.Parameters.AddWithValue(@Sexo, cboxsexo.SelectedItem);
//declaramos el parmetro de retorno
SqlParameter ValorRetorno
= new SqlParameter(@Comprobacion, SqlDbType.Int);
//asignamos el valor de retorno
ValorRetorno.Direction = ParameterDirection.Output;
comando.Parameters.Add(ValorRetorno);
//executamos la consulta
comando.ExecuteNonQuery();
// traemos el valor de retorno
Valor_Retornado = Convert.ToInt32(ValorRetorno.Value);
//dependiendo del valor de retorno se asigna la variable success
//si el procedimiento retorna un 1 la operacin se realiz con xito
//de no ser as se mantiene en false y pr lo tanto fall la operacin
if (Valor_Retornado ==1)
success = true;
}
catch (Exception)
{
//al ocurrir un error mostramos un mensaje
MessageBox.Show(Error en la
operacin, Error, MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
//si el procedimeinto se efectu con xito
if (success)
{
//se realiza la transaccin
LaTransaccion.Commit();
//cerramos la conexin
LaConexion.Close();
//mensaje de operacin satisfactoria
MessageBox.Show(Persona
guardada\nsatisfactoriamente, Aviso,MessageBoxButtons.OK, MessageBoxIcon.Informatio
n);
}
//si se present algun error
else
{
//se deshace la transaccin
LaTransaccion.Rollback();
//cerramos la conexin
LaConexion.Close();
}
}
}
}
}
)
create table Adultos
(
ID_Adutos int primary key identity(1,1),
Nombre_A varchar(30) not null,
Apellp_A varchar(20) not null,
Apellm_A varchar(20) not null,
Sexo_A char(1) not null,
Fecha_Reg_A date not null
)
create table Adulto_Mayor
(
ID_Mayores int primary key identity(1,1),
Nombre_AM varchar(30) not null,
Apellp_AM varchar(20) not null,
Apellm_AM varchar(20) not null,
Sexo_AM char(1) not null,
Fecha_Reg_AM date not null
)
create procedure SPPersonal
(
@Nombre varchar(30),
@Apellp varchar(20),
@Apellm varchar(20),
@Edad int,
@Sexo char(1),
@Comprobacion int output
)
as
begin
inicia la transaccin
begin transaction
error:
rollback transaction
set@Comprobacion=0
end