DataRow
Primero necesitamos saber que es un DataRow, aquí está
la definición, junto con otras que se necesitaran más adelante.
Un objeto DataRow representa una sola fila en la
tabla, y permite leer y actualizar los valores en esa fila, así como la
recuperación de cualquier fila que esté relacionada con ella a través de una
relación de clave primaria - clave extranjera.
Un objeto DataSet representa un esquema (o una
base de datos entera o un subconjunto de una). Puede contener las tablas y las
relaciones entre esas tablas.
- Un objeto DataTable representa una sola tabla en la base de datos. Tiene un nombre, filas, y columnas.
- Un DataColumn representa una columna de la tabla, incluyendo su nombre y tipo.
- Un Constraint describe una propiedad de la base de datos que se debe cumplir, como que los valores en una columna de clave primaria deben ser únicos. A medida que los datos son modificados cualquier violación que se presente causará excepciones.
- DataRowCollection es un componente principal de DataTable. Mientras que DataColumnCollection define el esquema de la tabla, DataRowCollection contiene sus datos reales, donde cada DataRow de DataRowCollection representa una única fila.
- NewRow Se debe utilizar el método NewRow para crear nuevos objetos DataRow con el mismo esquema que DataTable. Después de crear DataRow, se puede agregar a DataRowCollection mediante la propiedad Rows del objeto DataTable.
Obtener DataRow: A veces, usted tendrá que obtener una referencia a una fila de datos en el DataTable. Esta referencia se puede utilizar para llamar al método Delete u otros métodos, o para pasar como un parámetro a los métodos.
Ejemplo de DataRow:
‘A continuación, agregue la nueva fila a la colección.
Fila ("fname") = "James"
Fila ("lName") = "Maslow"
table.Rows.Add (Fila)
Los
objetos DataRow y DataColumn
son componentes principales de un DataTable.
Utilice el objeto DataRow y sus
propiedades y métodos para recuperar, evaluar, insertar, eliminar y actualizar
los valores de DataTable.
Para crear un DataRow nuevo, utilice el método NewRow
del objeto DataTable. Después de
crear un DataRow nuevo, utilice
el método Add para
agregar el nuevo DataRow a DataRowCollection. Por último, llame
al método AcceptChanges
del objeto DataTable para
confirmar la adición. Para obtener más información sobre la adición de datos a
un DataTable, vea Agregar datos a una tabla.
Puede eliminar un DataRow de DataRowCollection
llamando al método Remove
de DataRowCollection, o bien
llamando al método Delete
del objeto DataRow. El método Remove quita de la colección la fila.
En cambio, Delete marca el DataRow que se va a quitar. La
eliminación real se produce cuando se llama al método AcceptChanges. Al llamar a Delete,
se puede comprobar mediante programación qué filas están marcadas para eliminación
antes de eliminarlas. Para obtener más información, vea Eliminar una fila de una tabla.
En
el ejemplo siguiente se crea un nuevo DataRow
mediante una llamada al método NewRow
del objeto DataTable en Visual Basic.
Private Sub CreateNewDataRow
()
'Use el MakeTable Function below para crear
una nueva tabla.
Dim Table As DataTable
Table
= MakeNamesTable ()
‘una tabla ha sido creada, use el
‘NewRow para crear un DataRow.
Dim row As DataRow
Row
= table.NewRow()
‘Entonces al añadir un row para la colección.
Row
("fname") = "Ian"
Row
("lName") = "Somerhalder"
table.Rows.Add
(row)
Dim column As DataColumn
For Each column in table.Columns
Console.WriteLine (column.ColumnName)
Next
DataGrid1.DataSource=table
End Sub
Private Function MakeNamesTable () As DataTable
'Crear un nuevo DataTable titulado 'Names.'
Dim namesTable As DataTable = new DataTable ("Names")
'añadir tres objetos de columnas para la
nueva tabla.
Dim idColumn As DataColumn = new DataColumn ()
idColumn.DataType = System.Type.GetType ("System.Int32")
idColumn.ColumnName = "id"
idColumn.AutoIncrement = True
namesTable.Columns.Add
(idColumn)
Dim fNameColumn As DataColumn = New DataColumn ()
fNameColumn.DataType = System.Type.GetType ("System.String")
fNameColumn.ColumnName = "Fname"
fNameColumn.DefaultValue = "Fname"
namesTable.Columns.Add
(fNameColumn)
Dim lNameColumn As DataColumn = new DataColumn ()
lNameColumn.DataType = System.Type.GetType ("System.String")
lNameColumn.ColumnName = "LName"
namesTable.Columns.Add
(lNameColumn)
'Crear un Array para los objetos de
DataColumn.
Dim keys (0) As DataColumn
Keys
(0) = idColumn
namesTable.PrimaryKey = keys
'Retornar al Nuevo DataTable.
MakeNamesTable = namesTable
End Function
Eliminar:
Puede
eliminar un DataRow de DataRowCollection llamando al método Remove de DataRowCollection, o bien llamando al método Delete del objeto DataRow. El método Remove
quita de la colección la fila. En cambio, Delete marca el DataRow
que se va a quitar. La eliminación real se produce cuando se llama al método AcceptChanges.
Al llamar a Delete, se puede comprobar mediante programación qué filas
están marcadas para eliminación antes de eliminarlas
Como se menciono antes existen dos métodos para eliminar un objeto DataRow de un objetoDataTable: el método Remove del objeto DataRowCollection y el método Delete del objeto DataRow. Mientras que el método Remove
elimina un objeto DataRow de la DataRowCollection, el método Delete
únicamente lo marca para su eliminación. La eliminación propiamente dicha se
produce cuando la aplicación llama al método AcceptChanges. Si se usa Delete,
se puede comprobar mediante programación qué filas están marcadas para
eliminación antes de eliminarlas. Cuando una fila está marcada para
eliminación, su propiedad RowState está establecida en Deleted.
Si utiliza un DataSet o una DataTable en combinación con un DataAdapter
y un origen de datos relacional, utilice el método Delete de la DataRow
para quitar la fila. El método Delete marca la fila como Deleted
en DataSet o DataTable pero no la quita. En su lugar, cuando el DataAdapter
encuentra una fila marcada como Deleted, ejecuta el método DeleteCommand
para eliminar la fila en el origen de datos. A continuación se puede quitar la
fila permanentemente utilizando el método AcceptChanges. Si utiliza Remove
para eliminar la fila, ésta desaparecerá por completo de la tabla, pero el DataAdapter
no eliminará la fila del origen de datos.
El método Remove de
la DataRowCollection toma una DataRow como argumento y la elimina
de la colección, como se muestra en el ejemplo siguiente.
VB
workTable.Rows.Remove(workRow)
Por el contrario, en el
siguiente ejemplo se muestra cómo se llama al método Delete en una DataRow
para cambiar el RowState a Deleted.
VB
workRow.Delete
Y para actualizar:
Este ejemplo asigna el
valor de la variable CompanyName a la columna de datos CompanyName de
myDataRow.
Ejemplo
Dim companyName As String = "Microsoft"
Dim myDataRow As DataRow =
DsNorthwind1.Customers(0)
myDataRow("CompanyName") = companyName
Este ejemplo necesita:
- Referencias a los espacios de nombres System y System.Data.
- Una instancia de un conjunto de datos con tipo denominado DsNorthwind1.
- Una tabla de datos denominada Customers en el conjunto de datos DsNorthwind1.
- Un DataColumn denominado CompanyName en la tabla Customers.
- Al menos un DataRow en la tabla Customers.
Falta que indique mediante ejemplo como actualizar y eliminar información de la tabla.
ResponderEliminarprofe, ahi esta lo de eliminar y actualizar
Eliminar