c# - net - Seleccionar y actualizar datos de datatable
update datatable linq c# (3)
Esta es una forma de actualizar los datos de datatable ....
DataRow[] HRow = dataSet1.Tables["Human"].Select("Size >= 230 AND Sex = ''m''");
HRow[0]["Size"] = 230;
HRow[0]["Sex"] = "m";
Selecciono datos de mi tabla de datos, usando el siguiente código:
DataRow[] result = table.Select("Size >= 230 AND Sex = ''m''");
Ahora cambio los datos en el resultado del array de datos y quiero actualizar mi datatable (datatable debería obtener los cambios). ¿Cuál es la forma más fácil de hacer eso?
En VB6 podría simplemente establecer un filtro, en el conjunto de registros, editar mis filas y simplemente guardar mis cambios. ¿Hay alguna manera similar de usar DataTables?
EDITAR:
Tengo una pregunta adicional. ¿Qué pasa si quiero agregar una nueva fila y quiero reutilizar el mismo código?
Por ejemplo, así:
filteredRows = myDataset.Tables[0].Select("select where id = 1");
if (filteredRow.Lenght == 0) {
filteredRows = myDataset.Tables[0].NewRow();
}
// I wanna use this code, no matter if I edit a row, or if it is a new row.
filteredRows[index]["Name"] = "Max";
filteredRows[index]["Address"] = "Random Address";
filteredRows[index]["WhatEver"] = "...";
//...
Intenté de esta manera, pero no afecta el conjunto de datos original.
Tengo la idea de que cuando actualiza una fila desde un DataTable.Select, datatable conoce los cambios, pero no estoy seguro ya que nunca me enfrenté a algo así. Creo que Datarow.AcceptChanges hará lo que quieras. Pero asegúrese de que realmente tiene un problema así antes de usar (Aceptar cambios).
DataRow [] dr = dt.Select ("ItemCode =" + ItemCode); {
dr[0]["ItemName"] = txtItemName.Text;
dr[0]["ItemName"] = txtItemName.Text;
dr[0]["GroupCode"] = txtGroup.Text;
dr[0]["Price"] = txtPrice.Text;
dr[0]["Descriptions"] = txtDescriptions.Text;
}