
Actualizar sql desde DataGrid - Programación por capas
Publicado por Jose Fdo (10 intervenciones) el 12/03/2016 15:28:55
Saludos.
Estoy trabajando con capas, Datos, Negocio y Presentación, en mi capa de presentación tengo un datagridView el cual me trae los datos de la base de datos sin problema, pero requiero realizar cambios dentro del datagrid y enviar la actualización a la base de datos, lo estoy haciendo de la siguiente forma, pero no logro controlar bien, necesitaria alguna ayuda de ustedes.
CAPA DE DATOS:
CAPA DE NEGOCIO:
CAPA DE PRESENTACIÓN:
En el solo estoy cargando 2 campos uno que es el nombre y una bandera que es la que se debe modificar.
Al realizar eso me un problema en la capa de datos indicando "Información adicional: Invalid column name 'True'." y si selecciono una sola opcion es como si me tomara la misma opciones para todo el foreach.
De antemano agradezco la ayuda.
Estoy trabajando con capas, Datos, Negocio y Presentación, en mi capa de presentación tengo un datagridView el cual me trae los datos de la base de datos sin problema, pero requiero realizar cambios dentro del datagrid y enviar la actualización a la base de datos, lo estoy haciendo de la siguiente forma, pero no logro controlar bien, necesitaria alguna ayuda de ustedes.
CAPA DE DATOS:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//Método para Actualizar
public bool Actualizar(string consulta)
{
Conex();
ConexBD.Open();
comando = new SqlCommand(consulta, ConexBD);
int i = comando.ExecuteNonQuery();
ConexBD.Close();
if (i > 0)
{
return true;
}
else
{
return false;
}
}
CAPA DE NEGOCIO:
1
2
3
4
5
6
7
8
9
public void ActualizarAreaAnaDataGrid(string VALOR,string NOMBRE)
{
for(int i=0;i<= VALOR.Count(); i++)
{
//CRUD.comando = new SqlCommand("UPDATE AreaAn SET Aa_Estado = @VALOR WHERE Aa_Nombre = @NOMBRE");
Consulta = "UPDATE AreaAn SET Aa_Estado =" + VALOR + " WHERE Aa_Nombre ='" + NOMBRE + "'";
CRUD.Actualizar(Consulta);
}
}
CAPA DE PRESENTACIÓN:
1
2
3
4
5
6
7
8
9
10
private void btnSiguiente_Click(object sender, EventArgs e)
{
foreach(DataGridViewRow row in dataConsultarAreas.Rows)
{
string nombre, valor;
valor = dataConsultarAreas.CurrentRow.Cells["Seleccionar"].Value.ToString();
nombre = dataConsultarAreas.CurrentRow.Cells["Nombre_Area"].Value.ToString();
NConfig.ActualizarAreaAnaDataGrid(valor,nombre);
MessageBox.Show(valor);
}
En el solo estoy cargando 2 campos uno que es el nombre y una bandera que es la que se debe modificar.
Al realizar eso me un problema en la capa de datos indicando "Información adicional: Invalid column name 'True'." y si selecciono una sola opcion es como si me tomara la misma opciones para todo el foreach.
De antemano agradezco la ayuda.
Valora esta pregunta


0