제가 작성한 스킨은 보기 좋게 만들기 위해 값 없이 텍스트만 가져옵니다. 이제 이 방법을 사용하여 텍스트에서 값만 가져오는 불편한 방법을 해결하세요. 이 테이블의 모든 데이터를 쿼리하는 방법만 있으면 됩니다. 물론 이 두 가지 목록만 반환할 수도 있습니다.
암호
/// <요약>
/// 컬럼명을 기준으로 인덱스 가져오기
/// </summary>
/// <param name="fiId">컬럼 이름</param>
/// <returns>열 인덱스</returns>
개인 문자열 GetFunctionNameByName(문자열 이름)
{
var result = this.objWSM.GetFunctionInfo().AsEnumerable().Where(f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim()).FirstOrDefault() ;
반환 결과["fiId"].ToString();
}
GetFunctionInfo는 테이블의 모든 정보를 쿼리하는 메서드입니다.
/// <요약>
/// 컬럼 인덱스를 기반으로 컬럼 이름을 가져옵니다.
/// </summary>
/// <param name="fiId">열 인덱스</param>
/// <returns>열 이름</returns>
개인 문자열 GetFunctionNameById(int fiId)
{
var result = this._fiTable.AsEnumerable().Where(fi => Convert.ToInt32(fi["fiId"]) == fiId).FirstOrDefault();
반환 결과["fiName"].ToString();
}
두 가지 방법이 대응되는데, 이런 식으로 쿼리하는 것이 훨씬 편리하다고 생각합니다. 데이터베이스에 연결할 때 한 번에 모든 방법을 쿼리하면 됩니다.
이 단계를 설명하겠습니다.
this.objWSM.GetFunctionInfo().AsEnumerable().Where(f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim()).FirstOrDefault();
this.objWSM.GetFunctionInfo()는 모든 항목을 쿼리하는 방법입니다.
AsEnumerable().Where()는 LinQ 표현식을 사용하여 쿼리할 수 있는 일반 행을 반환합니다.
f1 => f1["fiName"].ToString().Trim() == Name.ToString().Trim())Linq 표현식
F1은 새로 생성된 행의 이름입니다.
f1["fiName"] 물론 이 행의 열 이름입니다. => 뒤에 조건이 오고 앞에 세트가 옵니다.
f1["fiName"].ToString().Trim() == Name.ToString().Trim()은 이 줄에 두 개의 동일한 값이 있으면 이를 제거한다는 의미입니다.
FirstOrDefault(); 첫 번째 행을 가져오는 것을 의미합니다.
이 시점에서 문제는 거의 해결되었습니다. 이 두 열을 쿼리하는 방법이 있는 한 이 두 가지 방법을 프런트 데스크에 작성하면 매번 두 가지 특별한 방법을 작성할 필요가 없습니다. 매우 편리하다고 생각되는 데이터베이스에 액세스합니다.