obtener leer datos data c# datatable

datos - leer datatable c#



Compruebe si el valor existe en la tabla de datos (5)

Debería poder utilizar el método DataTable.Select . Puedes hacerlo así.

if(myDataTable.Select("Author = ''" + AuthorName.Replace("''","''''") + ''").Length > 0) ...

El funciton Select () devuelve una matriz de DataRows para los resultados que coinciden con la instrucción where.

Tengo DataTable con dos columnas Author y Bookname .

Quiero verificar si el valor de cadena dado Autor ya existe en la DataTable. ¿Hay algún método incorporado para verificarlo, como Arrays array.contains ?


Puede usar LINQ-to-DataSet con Enumerable.Any :

String author = "John Grisham"; bool contains = tbl.AsEnumerable().Any(row => author == row.Field<String>("Author"));

Otro enfoque es usar DataTable.Select :

DataRow[] foundAuthors = tbl.Select("Author = ''" + searchAuthor + "''"); if(foundAuthors.Length != 0) { // do something... }

P: ¿Qué sucede si no conocemos los encabezados de las columnas y queremos encontrar si existe algún valor de celda PEPSI en las columnas de las filas? Puedo recorrerlo todo para averiguarlo, pero ¿hay una mejor manera? -

Sí, puedes usar esta consulta:

DataColumn[] columns = tbl.Columns.Cast<DataColumn>().ToArray(); bool anyFieldContainsPepsi = tbl.AsEnumerable() .Any(row => columns.Any(col => row[col].ToString() == "PEPSI"));


Puedes usar Linq. Algo como:

bool exists = dt.AsEnumerable().Where(c => c.Field<string>("Author").Equals("your lookup value")).Count() > 0;


puede establecer la base de datos como IEnumberable y usar linq para verificar si los valores existen. mira este enlace

Consulta LINQ en Datatable para verificar si existe registro

el ejemplo dado es

var dataRowQuery= myDataTable.AsEnumerable().Where(row => ...

podría complementar donde con cualquier


DataRow rw = table.AsEnumerable().FirstOrDefault(tt => tt.Field<string>("Author") == "Name"); if (rw != null) { // row exists }

agregar a su cláusula de uso:

using System.Linq;

y añadir :

System.Data.DataSetExtensions

a las referencias.