//CONSTRUCTOR CON EMPLEADOS INDIVIDUALES //llena el datagrid con los empleados seleccionados en el form anterior, obtiene el query de la capa logica public AsigConcepto(List <int> lista) { InitializeComponent(); empleadosSelect = lista; CapaLogicaNominas.querysConceptos querys = new querysConceptos(); string query = querys.GetQueryEmpSelected(empleadosSelect); //query de la capa logica, solo los empleados que se seleccionaron OdbcDataAdapter cmd = new OdbcDataAdapter(query, cnx.cnxOpen()); DataSet ds = new DataSet(); cmd.Fill(ds, "tbl_empSelected"); dtEmpSelected.DataSource = ds.Tables["tbl_empSelected"]; dtEmpSelected.Refresh(); cnx.cnxClose(); }
private void Borrar_Click(object sender, EventArgs e) { ConexionCapaDatos cone = new ConexionCapaDatos(); try { try { if (textBox1.Text == "") { MessageBox.Show("Debe seleccionar un Empleado primero"); } else { string cadena = "DELETE FROM `Percepciones` WHERE(`ID_Percepcion` =" + "\"" + ID_PER + "\"" + " and `ID_Empleado`= " + ID_EMP + ");"; OdbcCommand cmd = new OdbcCommand(cadena, cone.cnxOpen()); cmd.ExecuteNonQuery(); cone.cnxClose(); DataTable dt = new DataTable(); string cadenaA = "SELECT ID_Empleado, ID_Percepcion, Total, Dias FROM Percepciones" + " WHERE ID_Percepcion=" + "\"" + ID_PER + "\"" + ";"; OdbcDataAdapter dta = new OdbcDataAdapter(cadenaA, cone.cnxOpen()); DataSet dst = new DataSet(); dta.Fill(dst); dt = dst.Tables[0]; dataGridView1.DataSource = dt; MessageBox.Show("Se ha borrado el usuario"); cone.cnxClose(); } } catch (OdbcException ex) { MessageBox.Show("Error en la base de datos \n" + ex); cone.cnxClose(); } } catch (Exception ex) { MessageBox.Show("Error en la base de datos\n" + ex); cone.cnxClose(); } }
private void button6_Click(object sender, EventArgs e) { ConexionCapaDatos cone = new ConexionCapaDatos(); try { try { mescmx = comboBox1.SelectedIndex; string mes = mescmx.ToString(); string año = textBox8.Text; string cadena; if (mescmx == 0 || textBox8.Text == "") { MessageBox.Show("Ingrese primero mes y año"); btn1 = 0; btn = 0; } else { ID_PER = mes + "-" + año; DataTable dt = new DataTable(); cadena = "SELECT ID_Empleado, ID_Percepcion, Total, Dias FROM Percepciones" + " WHERE ID_Percepcion=" + "\"" + mes + "-" + año + "\"" + ";"; OdbcDataAdapter dta = new OdbcDataAdapter(cadena, cone.cnxOpen()); DataSet dst = new DataSet(); dta.Fill(dst); dt = dst.Tables[0]; dataGridView1.DataSource = dt; if (dataGridView1.Rows[0].Cells[0].Value == null) { MessageBox.Show("Fecha no encontrada"); } btn = 1; } } catch (OdbcException ex) { MessageBox.Show("Error en la base de datos \n" + ex); cone.cnxClose(); } } catch (Exception ex) { MessageBox.Show("Error en la base de datos\n" + ex); cone.cnxClose(); } }
private void button7_Click(object sender, EventArgs e) { string auxi; ConexionCapaDatos cone = new ConexionCapaDatos(); int contador = 1; double sueldoM; double sueldoD; string saldo; try { try { int x = 1; string[] vector = new string[1024]; string nuevo_emp = Microsoft.VisualBasic.Interaction.InputBox("Ingrese el nuevo id del empleado", "Ingreso"); string cadena = "select ID_Empleado from Percepciones";/* where ID_Empleado="+ * // nuevo_emp +" and ID_Percepcion=" +"'"+ID_PER+"'"+"; ";*/ OdbcCommand cmd = new OdbcCommand(cadena, cone.cnxOpen()); OdbcDataReader leer = cmd.ExecuteReader(); while (leer.Read()) { vector[x] = leer.GetString(0); x++; } cone.cnxClose(); for (int y = 1; y < x; y++) { string cadenaA = "select ID_Empleado from Percepciones where ID_Empleado=" + nuevo_emp + " and ID_Percepcion=" + "'" + ID_PER + "'" + "; "; OdbcCommand cmd1 = new OdbcCommand(cadenaA, cone.cnxOpen()); OdbcDataReader leer1 = cmd1.ExecuteReader(); while (leer1.Read()) { if (vector[y] == nuevo_emp) { contador = 1; } else { contador = 0; } } cone.cnxClose(); } if (contador == 1) { MessageBox.Show("EMPLEADO YA INGRESADO"); } else { string nuevo_dias = Microsoft.VisualBasic.Interaction.InputBox("Ingrese los dias", "Ingreso"); /////////////////// int diastxt = Convert.ToInt32(nuevo_dias); string cadenaB = "SELECT tbl_empleados.ID_empleado ,tbl_empleados.nombre,tbl_contratos.salario " + "FROM tbl_empleados " + "INNER JOIN tbl_contratos ON tbl_empleados.ID_contrato = tbl_contratos.ID_contrato WHERE ID_Empleado=" + nuevo_emp + ";"; MessageBox.Show(cadenaB); OdbcCommand cmd2 = new OdbcCommand(cadenaB, cone.cnxOpen()); OdbcDataReader leer1 = cmd2.ExecuteReader(); while (leer1.Read()) { saldo = leer.GetString(2); sueldo = Convert.ToDouble(saldo); switch (mescmx) { case (1): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (2): sueldoM = (sueldo / 28); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (3): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (4): sueldoM = (sueldo / 30); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (5): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (6): sueldoM = (sueldo / 30); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (7): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (8): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (9): sueldoM = (sueldo / 30); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (10): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (11): sueldoM = (sueldo / 30); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (12): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; } } auxi = String.Format("{0:0.00}", sueldo); string result = auxi.Replace(",", "."); DIA = textBox6.Text; string cadenaC = "insert into Percepciones value(" + "\"" + ID_PER + "\"," + ID_EMP + "," + result + "," + diastxt + ");"; OdbcCommand cmd3 = new OdbcCommand(cadena, cone.cnxOpen()); cmd.ExecuteNonQuery(); cone.cnxClose(); DataTable dt = new DataTable(); cadena = "SELECT ID_Empleado, ID_Percepcion, Total, Dias FROM Percepciones" + " WHERE ID_Percepcion=" + "\"" + ID_PER + "\"" + ";"; OdbcDataAdapter dta = new OdbcDataAdapter(cadena, cone.cnxOpen()); DataSet dst = new DataSet(); dta.Fill(dst); dt = dst.Tables[0]; dataGridView1.DataSource = dt; MessageBox.Show("EMPLEADO INSERTADO"); cone.cnxClose(); //////////////// } } catch (OdbcException ex) { MessageBox.Show("Error en la base de datos \n" + ex); cone.cnxClose(); } } catch (Exception ex) { MessageBox.Show("Error en la base de datos\n" + ex); cone.cnxClose(); } }
private void button1_Click(object sender, EventArgs e) { ConexionCapaDatos cone = new ConexionCapaDatos(); double sueldoM; double sueldoD; string saldo; string dinero = ""; try { try{ string auxi; int diastxt = Convert.ToInt32(textBox6.Text); if (btn1 == 1 && btn == 1 && diastxt <= 31 && diastxt > 0) { //// string cadenaB = "SELECT tE.ID_empleado, SUM(tCR.importe) AS total" + " FROM tbl_empleados tE" + " INNER JOIN tbl_empleadoconcepto tEC ON" + " tE.ID_Empleado = tEC.ID_Empleado" + " INNER JOIN tbl_conceptosretributivos tCR ON" + " tCR.ID_ConceptosR = tEC.ID_ConceptosR" + " WHERE tCR.tipo = 'ABONO' AND tE.ID_empleado=" + ID_EMP + " group by 1;"; OdbcCommand cmd3 = new OdbcCommand(cadenaB, cone.cnxOpen()); OdbcDataReader leer3 = cmd3.ExecuteReader(); while (leer3.Read()) { bono = leer3.GetDouble(1); } cone.cnxClose(); string cadenaA = "SELECT tbl_empleados.ID_empleado ,tbl_empleados.nombre,tbl_contratos.salario " + "FROM tbl_empleados " + "INNER JOIN tbl_contratos ON tbl_empleados.ID_contrato = tbl_contratos.ID_contrato WHERE ID_Empleado=" + ID_EMP + ";"; OdbcCommand cmd1 = new OdbcCommand(cadenaA, cone.cnxOpen()); OdbcDataReader leer = cmd1.ExecuteReader(); while (leer.Read()) { saldo = leer.GetString(2); sueldo = Convert.ToDouble(saldo); switch (mescmx) { case (1): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (2): sueldoM = (sueldo / 28); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (3): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (4): sueldoM = (sueldo / 30); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (5): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (6): sueldoM = (sueldo / 30); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (7): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (8): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (9): sueldoM = (sueldo / 30); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (10): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (11): sueldoM = (sueldo / 30); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; case (12): sueldoM = (sueldo / 31); sueldoD = (sueldoM * diastxt); sueldo = sueldoD + bono; break; } } cone.cnxClose(); auxi = String.Format("{0:0.00}", sueldo); string result = auxi.Replace(",", "."); DIA = textBox6.Text; string cadena = "UPDATE `Percepciones` SET `Dias` = " + "'" + DIA + "'" + ", `Total` = " + "'" + result + "'" + " WHERE (Percepciones.ID_Percepcion=" + "\"" + ID_PER + "\"" + " and Percepciones.ID_Empleado=" + ID_EMP + ");"; OdbcCommand cmd = new OdbcCommand(cadena, cone.cnxOpen()); cmd.ExecuteNonQuery(); cone.cnxClose(); DataTable dt = new DataTable(); cadena = "SELECT ID_Empleado, ID_Percepcion, Total, Dias FROM Percepciones" + " WHERE ID_Percepcion=" + "\"" + ID_PER + "\"" + ";"; OdbcDataAdapter dta = new OdbcDataAdapter(cadena, cone.cnxOpen()); DataSet dst = new DataSet(); dta.Fill(dst); dt = dst.Tables[0]; dataGridView1.DataSource = dt; MessageBox.Show("Actualizado"); cone.cnxClose(); } else { MessageBox.Show("Debe usar primero el boton de Actualizar\n o Los dias no deben superar los 31 ni menor a 1"); } } catch (Exception ex) { MessageBox.Show("HUBO UN ERROR \n" + ex); } } catch (OdbcException ex) { MessageBox.Show("ERROE EN LA BASE DE DATOS \n" + ex); } }
private void button3_Click(object sender, EventArgs e) { //textBox1.Text = this.dataGridView1.CurrentCell.Value.ToString(); ConexionCapaDatos cone = new ConexionCapaDatos(); DataGridViewRow row = dataGridView1.CurrentRow; string cadenaN, cadenaA, cadenaP; try { try { if (btn == 1) { textBox6.ReadOnly = false; textBox1.Text = row.Cells[0].Value.ToString(); textBox7.Text = row.Cells[2].Value.ToString(); textBox6.Text = row.Cells[3].Value.ToString(); ID_PER = row.Cells[1].Value.ToString(); ID_EMP = textBox1.Text; DIA = textBox6.Text; cadenaN = "select nombre from tbl_empleados where tbl_empleados.ID_Empleado=" + ID_EMP + ";"; OdbcCommand cmd = new OdbcCommand(cadenaN, cone.cnxOpen()); OdbcDataReader leer = cmd.ExecuteReader(); while (leer.Read()) { textBox3.Text = leer.GetString(0); } cone.cnxClose(); cadenaA = "select tbl_empleados.ID_Empleado, tbl_areas.Nombre from tbl_empleados" + " inner join tbl_areas on tbl_areas.ID_Area = tbl_empleados.ID_Area" + " WHERE tbl_empleados.ID_Empleado = " + ID_EMP + "; "; OdbcCommand cmd1 = new OdbcCommand(cadenaA, cone.cnxOpen()); OdbcDataReader leer1 = cmd1.ExecuteReader(); while (leer1.Read()) { textBox4.Text = leer1.GetString(1); } cone.cnxClose(); cadenaP = "select tbl_empleados.ID_Empleado, tbl_puestos.Nombre from tbl_empleados" + " inner join tbl_puestos on tbl_puestos.ID_Puesto = tbl_empleados.ID_Puesto" + " WHERE tbl_empleados.ID_Empleado =" + ID_EMP + "; "; OdbcCommand cmd2 = new OdbcCommand(cadenaP, cone.cnxOpen()); OdbcDataReader leer2 = cmd2.ExecuteReader(); while (leer2.Read()) { textBox2.Text = leer2.GetString(1); } cone.cnxClose(); btn = 1; btn1 = 1; } else { MessageBox.Show("Debe usar primero el boton de Seleccionar"); } } catch (OdbcException ex) { MessageBox.Show("Error en la base de datos \n" + ex); } } catch (Exception ex) { MessageBox.Show("Error en la base de datos\n" + ex); } }
private void Asignacion_de_area_Load(object sender, EventArgs e) { OdbcDataAdapter dta = new OdbcDataAdapter("SELECT tbl_areas.ID_Area, tbl_areas.Nombre FROM tbl_areas", cnx.cnxOpen()); DataSet dst = new DataSet(); dta.Fill(dst, "tbl_areas"); cbxArea.DisplayMember = "Nombre"; cbxArea.ValueMember = "Nombre"; cbxArea.DataSource = dst.Tables["tbl_areas"]; cnx.cnxClose(); OdbcDataAdapter emp = new OdbcDataAdapter("SELECT * FROM empleadoConceptoVW", cnx.cnxOpen()); dst2.Tables.Add("tbl_empleados"); dst2.Tables["tbl_empleados"].Columns.Add("Seleccion", typeof(bool)); dst2.Tables["tbl_empleados"].Columns["Seleccion"].DefaultValue = false; emp.Fill(dst2, "tbl_empleados"); dtEmpleados.DataSource = dst2.Tables["tbl_empleados"]; dtEmpleados.AllowUserToAddRows = false; dtEmpleados.Refresh(); cnx.cnxClose(); dtEmpleados.Columns["Seleccion"].SortMode = DataGridViewColumnSortMode.Automatic; }
private void button6_Click(object sender, EventArgs e) { contadorID = 0; x = 1; try { try { dataGridView1.Rows.Clear(); dataGridView1.Refresh(); ConexionCapaDatos cone = new ConexionCapaDatos(); string cadena; int fechaI; int fechaF; int añoi; string aux; fechaI = dateTimePicker1.Value.Day; fechaF = dateTimePicker2.Value.Day; añoi = dateTimePicker1.Value.Year; mesi = dateTimePicker1.Value.Month; año = añoi.ToString(); mes = mesi.ToString(); idper = mes + "-" + año; dias = (fechaF - fechaI) + 1; if (fechaI >= fechaF) { MessageBox.Show("la fecha final debera ser mayor a la inicial"); } else { textBox1.Text = dias.ToString(); cadena = "SELECT tbl_empleados.ID_empleado ,tbl_empleados.nombre,tbl_contratos.salario " + "FROM tbl_empleados " + "INNER JOIN tbl_contratos ON tbl_empleados.ID_contrato = tbl_contratos.ID_contrato;"; OdbcCommand cmd = new OdbcCommand(cadena, cone.cnxOpen()); OdbcDataReader leer = cmd.ExecuteReader(); x = 0; while (leer.Read()) { x++; idemp[x] = leer.GetString(0); dataGridView1.Rows.Add(leer.GetString(0), leer.GetString(1), leer.GetString(2)); aux = leer.GetString(2); sueldo[x] = double.Parse(aux); contadorID++; } cone.cnxClose(); } } catch (Exception ex) { MessageBox.Show("HUBO UN ERROR \n" + ex); } } catch (OdbcException ex) { MessageBox.Show("ERROE EN LA BASE DE DATOS \n" + ex); } contaux = contadorID; }
private void button2_Click(object sender, EventArgs e) { try { try { if (textBox1.Text == "") { MessageBox.Show("DEBERA ESCOGER PRIMERO LA FECHA"); } else { string auxi = ""; string cadenaN = ""; int contador = 1; ConexionCapaDatos cone1 = new ConexionCapaDatos(); cadenaN = "SELECT ID_Percepcion from Percepciones;"; OdbcCommand cmd1 = new OdbcCommand(cadenaN, cone1.cnxOpen()); OdbcDataReader leer = cmd1.ExecuteReader(); contador = 1; while (leer.Read()) { if (idper == leer.GetString(0)) { contador = 0; } else { contador = 1; } } if (contador == 0) { MessageBox.Show("MES Y AÑO YA CALCULADOS SI \n DESEA UN CAMBIO UN INDIVIDUAL \n " + "INGRESARLO EN PERCEPCION INDIVIDUAL"); } else { for (int y = 1; y <= contaux; y++) { auxi = String.Format("{0:0.00}", sueldo[y]); string result = auxi.Replace(",", "."); string cadena = "INSERT INTO Percepciones values(" + "\"" + mes + "-" + año + "\"" + " ," + idemp[y] + "," + result + "," + dias + ");"; ConexionCapaDatos cone = new ConexionCapaDatos(); OdbcCommand cmd = new OdbcCommand(cadena, cone.cnxOpen()); cmd.ExecuteNonQuery(); cone.cnxClose(); idemp[y] = ""; sueldo[y] = 0; cadena = ""; } MessageBox.Show("Percepciones guardadas con exito"); } } } catch (Exception ex) { MessageBox.Show("HUBO UN ERROR \n" + ex); } }catch (OdbcException ex) { MessageBox.Show("ERROE EN LA BASE DE DATOS \n" + ex); } }
private void button1_Click_1(object sender, EventArgs e) { try { try { if (textBox1.Text == "") { MessageBox.Show("DEBERA ESCOGER PRIMERO LA FECHA"); } else { string cadena; string auxi; double saldo, sueldoM = 0, sueldoD = 0; string result; for (int w = 1; w <= contadorID; w++) { ConexionCapaDatos cone = new ConexionCapaDatos(); cadena = "SELECT tE.ID_empleado, SUM(tCR.importe) AS total" + " FROM tbl_empleados tE" + " INNER JOIN tbl_empleadoconcepto tEC ON" + " tE.ID_Empleado = tEC.ID_Empleado" + " INNER JOIN tbl_conceptosretributivos tCR ON" + " tCR.ID_ConceptosR = tEC.ID_ConceptosR" + " WHERE tCR.tipo = 'ABONO' AND tE.ID_empleado=" + idemp[w] + " group by 1;"; OdbcCommand cmd = new OdbcCommand(cadena, cone.cnxOpen()); OdbcDataReader leer = cmd.ExecuteReader(); while (leer.Read()) { aux[w] = leer.GetString(1); saldo = double.Parse(aux[w]); switch (mesi) { case (1): sueldoM = (sueldo[w] / 31); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; case (2): sueldoM = (sueldo[w] / 28); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; case (3): sueldoM = (sueldo[w] / 31); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; case (4): sueldoM = (sueldo[w] / 30); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; case (5): sueldoM = (sueldo[w] / 31); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; case (6): sueldoM = (sueldo[w] / 30); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; case (7): sueldoM = (sueldo[w] / 31); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; case (8): sueldoM = (sueldo[w] / 31); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; case (9): sueldoM = (sueldo[w] / 30); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; case (10): sueldoM = (sueldo[w] / 31); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; case (11): sueldoM = (sueldo[w] / 30); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; case (12): sueldoM = (sueldo[w] / 31); sueldoD = (sueldoM * dias); sueldo[w] = sueldoD; break; } sueldo[w] += saldo; } } for (int y = 1; y <= contadorID; y++) { if (aux[y] == null || aux[y] == "") { aux[y] = "0"; } dataGridView1.Rows[y - 1].Cells[3].Value = aux[y]; auxi = String.Format("{0:0.00}", sueldo[y]); result = auxi.Replace(",", "."); dataGridView1.Rows[y - 1].Cells[5].Value = result; } } } catch (Exception ex) { MessageBox.Show("HUBO UN ERROR \n" + ex); } } catch (OdbcException ex) { MessageBox.Show("ERROE EN LA BASE DE DATOS \n" + ex); } for (int y = 1; y <= contadorID; y++) { aux[y] = ""; } contadorID = 0; }
private void CatAreas_Load(object sender, EventArgs e) { ConexionCapaDatos CapaDatos = new ConexionCapaDatos(); OdbcCommand cmd = new OdbcCommand("Select * from areas_view", CapaDatos.cnxOpen()); OdbcDataAdapter adp = new OdbcDataAdapter(cmd); try { DataTable tbl = new DataTable(); adp.Fill(tbl); dt_catAreas.DataSource = tbl; dt_catAreas.Refresh(); dt_catAreas.Update(); }catch (OdbcException ex) { MessageBox.Show("Error, tabla inexistente" + ex); } }
//CONTRUCTOR CON DPI EMPLEADO public EmpConceptos(int DPI) { InitializeComponent(); idEmp = DPI; OdbcDataAdapter cmd = new OdbcDataAdapter("Select * from empleadoConceptoVW where DPI=" + idEmp + ";", cnx.cnxOpen()); DataSet ds = new DataSet(); cmd.Fill(ds, "tbl_empSelected"); dtEmpSelected.DataSource = ds.Tables["tbl_empSelected"]; dtEmpSelected.Refresh(); cnx.cnxClose(); }
// devuelve una tabla con todos los conceptos que tiene asignado un empleado en especifico. public DataTable ConceptosdeEmpleados(int id_empleado) { DataTable conceptosEmpleados = new DataTable(); OdbcDataAdapter emp = new OdbcDataAdapter("SELECT tbl_conceptosretributivos.ID_ConceptosR as 'Codigo'," + "tbl_conceptosretributivos.nombre," + "tbl_conceptosretributivos.descripcion," + "tbl_conceptosretributivos.importe," + "tbl_conceptosretributivos.tipo " + "FROM tbl_empleados " + "INNER JOIN tbl_empleadoconcepto ON tbl_empleadoconcepto.ID_Empleado= tbl_empleados.ID_Empleado " + "INNER JOIN tbl_conceptosretributivos ON tbl_empleadoconcepto.ID_ConceptosR= tbl_conceptosretributivos.ID_ConceptosR " + "WHERE tbl_empleados.ID_Empleado=" + id_empleado + ";", cnx.cnxOpen()); conceptosEmpleados.Columns.Add("Seleccion", typeof(bool)); //agrega una columna de checkboxs conceptosEmpleados.Columns["Seleccion"].DefaultValue = true; emp.Fill(conceptosEmpleados); cnx.cnxClose(); return(conceptosEmpleados); }