Stack Overflow en español Asked by Leo Cruz on January 12, 2021
Hola estoy tratando de hacer mi primer programa (UN PUNTO DE VENTA)
y de verdad que necesito de su ayuda.
Lo que quiero saber si debo hacer todos los CRUD de cada formulario en una sola clases o si cada CRUD debe ir en clases diferente? ojo no estoy trabajando con "capas"
En caso de que sea un CRUD por clase, por favor me dicen como se hace.
y a la vez me gustaría saber como se llama la fomar de trabajar en c# cuando
no se trabaja con capas
En caso de que sea un CRUD por clase, por favor me dicen como se hace.
y a la vez me gustaría saber como se llama la fomar de trabajar en c# cuando
no se trabaja con capas
public void Abrir_conexion()
{
con = new SqlConnection("Data Source =.; Initial Catalog = PruebaProcedimiento; Integrated Security = True");
con.Open();
}
public void Cerrar_conexion()
{
con.Close();
}
// LLENANDO UN DATAGRIDVIEW..............................................
public void Llenando_datagrid( DataGridView datgrid )
{
try {
Abrir_conexion();
cmd = new SqlCommand("Alumno",con);
cmd.CommandType = CommandType.StoredProcedure;
dt = new DataTable();
da = new SqlDataAdapter(cmd);
da.Fill(dt);
Cerrar_conexion();
datgrid.DataSource = dt;
}
catch (Exception ex)
{
MessageBox.Show("No se lleno el dataGrid" + ex).ToString();
}
}
//GUARDAR..............................................
public string guardar(string nombre,string apellido,int edad)
{
string mensaje = "Nuevo estudiante agregado";
try
{
Abrir_conexion();
cmd = new SqlCommand("SP_Guardar", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Nombre", nombre).ToString();
cmd.Parameters.AddWithValue("@Apellido", apellido).ToString();
cmd.Parameters.AddWithValue("@Edad", Convert.ToInt32(edad));
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
Cerrar_conexion();
}
catch (Exception ex)
{
MessageBox.Show("Error RICKY" + ex).ToString();
}
return mensaje;
}
// Validar registro al insertarlo..............................................
public int validar(string nombre)
{
int cont=0;
try
{
Abrir_conexion();
cmd = new SqlCommand("SP_Validar", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@validar", nombre).ToString();
dr = cmd.ExecuteReader();
if (dr.Read())
{
cont++;
}
cmd.Parameters.Clear();
Cerrar_conexion();
}
catch(Exception ex)
{
MessageBox.Show("Error Ricky no valido correctamente!" + ex).ToString();
}
return cont;
}
//ELIMINAR..............................................
public int Eliminar(string nombre)
{
int cont = 0;
try {
Abrir_conexion();
cmd = new SqlCommand("SP_Eliminar",con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Nombre",nombre);
cont = cmd.ExecuteNonQuery(); // Pongo una variable entera (cont) porque ahi me devuelve un uno, o un cero
cmd.Parameters.Clear();
Cerrar_conexion();
}
catch (Exception ex)
{
MessageBox.Show("Error RICKY no se ELIMINO el registro" + ex).ToString();
}
return cont;
}
//ACTUALIZAR..............................................
public string Actualizar(string nombre, string apellido, int edad, string actualizar )
{ string mensaje = "Datos actualizado correctamente!";
try
{ Abrir_conexion();
cmd = new SqlCommand("SP_Actulizar", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Nombre", nombre).ToString();
cmd.Parameters.AddWithValue("@Apellido",apellido).ToString();
cmd.Parameters.AddWithValue("@Edad", Convert.ToInt32(edad)).ToString();
cmd.Parameters.AddWithValue("@actualizar", actualizar).ToString();
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
Cerrar_conexion();
}
catch(Exception ex)
{
MessageBox.Show("Error RICKY no se ACTUALIZO el registro" + ex).ToString();
}
return mensaje;
}
// BUSCAR..............................................
public void Buscar ( string txtbuscar, DataGridView data)
{
try
{
Abrir_conexion();
cmd = new SqlCommand("Buscar", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@filtro", txtbuscar).ToString();
da = new SqlDataAdapter(cmd);
dt = new DataTable();
da.Fill(dt);
data.DataSource = dt;
cmd.ExecuteNonQuery();
Cerrar_conexion();
}
catch (Exception ex)
{
MessageBox.Show("Error RICKY no se encontro registro" + ex).ToString();
}
}
}
Lo mejor es que trabajes en clases por separado para cada funcionalidad. Te recomiendo que le des un mirada a Los principios SOLID, no estoy seguro que exista un nombre como tal a la forma de trabajar sin en capas, pero si puedo decirte que estarás entrenando el error y tú código sera un poco menos sencillo de mantener.
Correct answer by Aderson Rangel on January 12, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP