Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/07/2009, 10:32
clau_uy
 
Fecha de Ingreso: febrero-2009
Mensajes: 8
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: copnsulta update sql

en suma creo 2 data set.. uno lo cargo con todos los estudiantes,, otro los cargo con todos los equipos disponibles,
si hay mas equipos que estudiantes.... tengo que modificar los datos de la tabla EQUIPOS y cargarle el dato de la fecha de hoy y del numero de estudiante q vienen en el data set estudiante... me explico?
pero cuando hago el update.. me actuliza TODOS LOS CAMPOS DE LA TABLA ESQUIPOS con los datos de la fecha de hoy y me asigna la MISMA CEDULA a TODA LA TABLA...

me explico?
muchas muchas gracias por cualquier aporte



public bool asingancionMasivaDeEquipos(string idGrup)
{
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
DataSet dsEst = new DataSet();
DataSet dsEqui = new DataSet();

SqlDataAdapter daEst = new SqlDataAdapter("Select CEDULA from Estudiantes WHERE ID_GRUPO = '" + idGrup + "'", conn);
daEst.Fill(dsEst, "estu");
int estu = dsEst.Tables["estu"].Rows.Count;
SqlDataAdapter daEq = new SqlDataAdapter("Select * from Equipos WHERE FECHA_ASIGNADA_ESTUDIANTE is Null", conn);
daEq.Fill(dsEqui, "equi");
int equi = dsEqui.Tables["equi"].Rows.Count;
if (equi >= estu && estu > 0 && equi > 0)
{
int indice = 0;
string ci = "";
foreach (DataRow drEst in dsEst.Tables["estu"].Rows)
{

if (indice <= estu)
{
SqlCommand cmd = new SqlCommand("UPDATE Equipos SET CEDULA = @CEDULA, FECHA_ASIGNADA_ESTUDIANTE = @HOY WHERE FECHA_ASIGNADA_ESTUDIANTE IS NULL", conn);
//ci = (string)dsEst.Tables["estu"].Rows[indice]["CEDULA"];
ci= dsEst.Tables["estu"].Rows[indice].Field<string>("CEDULA");
cmd.Parameters.AddWithValue("@CEDULA",ci);
cmd.Parameters.AddWithValue("@HOY", DateTime.Now);
cmd.ExecuteNonQuery();
indice++;
}
}

return true;

}
else
{
conn.Close();
return false;
}