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 originalIf DataGridView1.Rows.Count = 0 Then
Return
End If
Using conn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\nex.mdf; Integrated Security=SSPI;")
conn.Open()
Dim query As String = "INSERT INTO anexoss (nombre, cargo, area, anexo) VALUES (@nombre, @cargo, @area, @anexo)"
Dim cmd As New SqlCommand(query, conn)
For Each row As DataGridViewRow In DataGridView1.Rows
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@id_anexo", Convert.ToInt32(row.Cells("Id_anexo").Value))
cmd.Parameters.AddWithValue("@nombre", Convert.ToString(row.Cells("Nombre").Value))
cmd.Parameters.AddWithValue("@cargo", Convert.ToString(row.Cells("Cargo").Value))
cmd.Parameters.AddWithValue("@area", Convert.ToString(row.Cells("Area").Value))
cmd.Parameters.AddWithValue("@anexo", Convert.ToString(row.Cells("Anexo").Value))
cmd.ExecuteNonQuery()
Next
MUCHAS GRACIAS POR TUS RESPUESTAS.
Cita:
Iniciado por Dradi7
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