dataTable에 값이 있는지 확인 하시겠습니까?
Author 및 Bookname 두 열이있는 DataTable이 있습니다.
주어진 문자열 값 Author가 이미 DataTable 에 있는지 확인하고 싶습니다 . Arrays와 같이 그것을 확인하는 내장 방법이 array.contains
있습니까?
다음 LINQ-to-DataSet
과 함께 사용할 수 있습니다 Enumerable.Any
.
String author = "John Grisham";
bool contains = tbl.AsEnumerable().Any(row => author == row.Field<String>("Author"));
또 다른 접근 방식은 다음을 사용하는 것입니다 DataTable.Select
.
DataRow[] foundAuthors = tbl.Select("Author = '" + searchAuthor + "'");
if(foundAuthors.Length != 0)
{
// do something...
}
Q : Headers 열을 모르고
PEPSI
rows'c 열에 셀 값 이 있는지 확인하려면 어떻게해야합니까? 모든 것을 반복하여 알아낼 수 있지만 더 좋은 방법이 있습니까? –
예, 다음 쿼리를 사용할 수 있습니다.
DataColumn[] columns = tbl.Columns.Cast<DataColumn>().ToArray();
bool anyFieldContainsPepsi = tbl.AsEnumerable()
.Any(row => columns.Any(col => row[col].ToString() == "PEPSI"));
Linq를 사용할 수 있습니다. 다음과 같은 것 :
bool exists = dt.AsEnumerable().Where(c => c.Field<string>("Author").Equals("your lookup value")).Count() > 0;
DataRow rw = table.AsEnumerable().FirstOrDefault(tt => tt.Field<string>("Author") == "Name");
if (rw != null)
{
// row exists
}
using 절에 추가하십시오.
using System.Linq;
다음을 추가하십시오.
System.Data.DataSetExtensions
참조.
DataTable.Select () 메서드 를 사용할 수 있어야합니다 . 이렇게 할 수 있습니다.
if(myDataTable.Select("Author = '" + AuthorName.Replace("'","''") + '").Length > 0)
...
Select () 함수는 where 문과 일치하는 결과에 대한 DataRows 배열을 반환합니다.
데이터베이스를 IEnumberable로 설정하고 linq를 사용하여 값이 있는지 확인할 수 있습니다. 이 링크를 확인하십시오
레코드가 있는지 확인하기위한 Datatable의 LINQ 쿼리
주어진 예는
var dataRowQuery= myDataTable.AsEnumerable().Where(row => ...
당신은 어떤 곳으로 보충 할 수 있습니다
참고 URL : https://stackoverflow.com/questions/10703320/check-if-value-exists-in-datatable
'development' 카테고리의 다른 글
Ubuntu : OpenJDK 8-패키지를 찾을 수 없음 (0) | 2020.10.11 |
---|---|
Android의 새로운 Google 로그인 (0) | 2020.10.11 |
gnuplot : 여러 입력 파일의 데이터를 단일 그래프로 플로팅 (0) | 2020.10.11 |
예외 또는 반환 코드를 선호하는 이유는 무엇입니까? (0) | 2020.10.11 |
콘텐츠 파일을 asp.net 프로젝트 파일에 자동으로 포함하는 방법이 있습니까? (0) | 2020.10.11 |