Foros del Web » Programación para mayores de 30 ;) » .NET »

Grabar valores de un DataTable

Estas en el tema de Grabar valores de un DataTable en el foro de .NET en Foros del Web. Hola a todos, de nueva cuenta requiero su ayuda, puesto que mi novatez en el lenguaje me ha dado varios dolores de cabeza. Ahora requiero ...
  #1 (permalink)  
Antiguo 24/09/2008, 11:13
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 7 meses
Puntos: 0
Exclamación Grabar valores de un DataTable

Hola a todos, de nueva cuenta requiero su ayuda, puesto que mi novatez en el lenguaje me ha dado varios dolores de cabeza. Ahora requiero grabar en mi base de datos lo que está contenido en un DataTable. El código que utilizo para recorrer el DataTable es el siguiente:



For Each row As DataRow In dt2.Rows

' Leo los valores de la primera columna que son los que necesito

MessageBox.Show(row.Item(0).ToString)

Next

de esta manera me doy cuenta de que si lo estoy recorriendo bien.



Ahora, he tratado de grabar ese dato, junto con otros que tengo, pero no puedo convertir la variable rw en un valor aceptable para ser grabado. Lo hago de la siguiente manera


For Each row As DataRow In dt2.Rows
res2 = Convert.ToInt32(row) <------ AQUÍ ESTÁ LA CUESTIÓN
SQLs.ComandoSQL(cnX, "Update Inv_enfriadores Set Id_Estado = 5" & " Where no_economico = " & res2)

If (MessageBox.Show(" En asignaci¢n al cliente: " & temp1 & Chr(13) & Chr(13) & "¨DESEA HACER OTRA CAPTURA?", "Asignaci¢n a Cliente", MessageBoxButtons.YesNo, MessageBoxIcon.Information)) = Windows.Forms.DialogResult.Yes Then

cargargridinventario() 'Carga Inventario
cargargridclientes() 'Carga Clientes y Rutas

Else
Me.Close()
End If

Next

Específicamente necesito saber cómo convertir row para poder pasarla a la variable res2 y poder grabar

For Each row As DataRow In dt2.Rows
¿res2 = row?
Next

Si alguien puede ayudarme, le estaré muy agradecido.
  #2 (permalink)  
Antiguo 24/09/2008, 12:34
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Grabar valores de un DataTable

Hola Javier, el contenido del Row puedes convertirlo de acuerdo a tu necesidad, si fueras un poco mas especifico referente al tipo de dato que deseas convertir, por ejemplo:

Código:
dtMenu.Rows[i]["strNombre"].ToString().Trim()
Convert.ToString(Rows[i]["strNombre"]);
Convert.ToString(dtMenu.Rows[i]["strNombre"]);
Estas son diferentes maneras de hacer la conversion.


En tu caso seria algo asi como esto:
Código:
for (int i = 0; i < dt.Rows.Count; i++)
{
SQLs.ComandoSQL(cnX, "Update Inv_enfriadores Set Id_Estado = 5" & " Where no_economico = " & Convert.int16(dt.Rows[i]["NombreColumna"]))
}

Espero que te sea util.

Saludos.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #3 (permalink)  
Antiguo 24/09/2008, 14:29
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Grabar valores de un DataTable

Muchas gracias por el código, también funciona como lo pones, pero la solución que le dí fue:

For Each row As DataRow In dt2.Rows
SQLs.ComandoSQL(cnX, "Update Inv_enfriadores Set Id_Estado = 5" & " Where no_economico = " & row("clave"))
Next
  #4 (permalink)  
Antiguo 25/09/2008, 15:09
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Grabar valores de un DataTable

Exelente !!!
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:51.