sql >> Base de Datos >  >> RDS >> Sqlserver

Insertar datos de un DataGridView a una base de datos

No puede asignar columnas a datos . Lo que debe agregar son los datos de la celda de fila de ese índice de columna

Esto es incorrecto grdFamily.Columns(0)

La asignación de parámetros dentro del ciclo for debe corregirse de la siguiente manera

NOTA Cambie el tipo de datos según su tabla.

adapFam.InsertCommand.Parameters.Add("@ID", SqlDbType.Int)
adapFam.InsertCommand.Parameters.Add("@Name", SqlDbType.VarChar)
adapFam.InsertCommand.Parameters.Add("@Age", SqlDbType.VarChar)
adapFam.InsertCommand.Parameters.Add("@Rel", SqlDbType.VarChar)
adapFam.InsertCommand.Parameters.Add("@Occ", SqlDbType.VarChar)

For i As Integer = 0 To grdFamily.Rows.Count - 1
  adapFam.InsertCommand.Parameters[0].Value = Convert.ToInt32(txtEmpID.Text.Trim)
  adapFam.InsertCommand.Parameters[1].Value = grdFamily.Rows[i].Cells[0].Value
  adapFam.InsertCommand.Parameters[2].Value = grdFamily.Rows[i].Cells[1].Value
  adapFam.InsertCommand.Parameters[3].Value = grdFamily.Rows[i].Cells[2].Value
  adapFam.InsertCommand.Parameters[4].Value = grdFamily.Rows[i].Cells[3].Value

    result2 = adapFam.InsertCommand.ExecuteNonQuery()
Next