Ver Mensaje Individual
  #19 (permalink)  
Antiguo 17/08/2012, 11:58
Avatar de Dradi7
Dradi7
 
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: Como pasar datos de un datagridview a una base de datos sql

Cita:
Iniciado por ggsradas Ver Mensaje
Si acabo de comprender lo que me dices. supongo que es porque tengo una columna autonumerica y eso se establece automaticamente. algo por alli es la cosa. entonces he intentado eliminar algunos parametros y ha quedado asi.


Dim query As String = "INSERT INTO anexoss (nombre, cargo, area, anexo) VALUES (@nombre, @cargo, @area, @anexo)"

he eliminado el id_anexo y el @id_anexo. Esto ha hecho que ya no me genere ningun error. sin embargo cuando cierro la depuracion y consulto mi tabla para ver si los datos se han ingresado. la tabla me muestra las columnas en NULL. el codigo modificado al final ha quedado asi:

Código vb:
Ver original
  1. If DataGridView1.Rows.Count = 0 Then
  2.             Return
  3.         End If
  4.  
  5.  
  6.         Using conn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\nex.mdf; Integrated Security=SSPI;")
  7.             conn.Open()
  8.  
  9.             Dim query As String = "INSERT INTO anexoss (nombre, cargo, area, anexo) VALUES (@nombre, @cargo, @area, @anexo)"
  10.             Dim cmd As New SqlCommand(query, conn)
  11.  
  12.             For Each row As DataGridViewRow In DataGridView1.Rows
  13.  
  14.                 cmd.Parameters.Clear()
  15.                 cmd.Parameters.AddWithValue("@id_anexo", Convert.ToInt32(row.Cells("Id_anexo").Value))
  16.                 cmd.Parameters.AddWithValue("@nombre", Convert.ToString(row.Cells("Nombre").Value))
  17.                 cmd.Parameters.AddWithValue("@cargo", Convert.ToString(row.Cells("Cargo").Value))
  18.                 cmd.Parameters.AddWithValue("@area", Convert.ToString(row.Cells("Area").Value))
  19.                 cmd.Parameters.AddWithValue("@anexo", Convert.ToString(row.Cells("Anexo").Value))
  20.                 cmd.ExecuteNonQuery()
  21.             Next

MUCHAS GRACIAS POR TUS RESPUESTAS.
Lo que sucede creo porque no te inserta es que estas pasando como parametro esto

cmd.Parameters.AddWithValue("@id_anexo", Convert.ToInt32(row.Cells("Id_anexo").Value)) y como no existe no lo inserta y genera un error interno trata de sacar esta linea y verifica si te inserta o no
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones