Ver Mensaje Individual
  #18 (permalink)  
Antiguo 17/08/2012, 11:55
ggsradas
 
Fecha de Ingreso: agosto-2012
Mensajes: 19
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Como pasar datos de un datagridview a una base de datos sql

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.

Cita:
Iniciado por Dradi7 Ver Mensaje
Pero el error esta claro no es tema de programacion lo que esta diciendo es que tu tienes en tu tabla una columna de tipo IDENTITY y las columnas de tipo IDENTITY no pueden ser pasadas como parametros en un INSERT sino debes excluirlas ya que estas se generan automaticamente por eso te sale ese error