2014-09-09 3 views
0

닷넷 PetaPoco 기본 쿼리는

  • 는 각 매개 변수
  • 에 대한 기본 값을 전달 매개 변수의 수를 (정규식 될 수있다?) 결정이

    SELECT * FROM articles WHERE [email protected] OR [email protected] 
    
    1. 같은 쿼리 문자열을 지정된 파라미터

      하드 코딩 된 쿼리 문자열에 대한 테스트 프레임 워크를 작성하려고합니다. 목표는 DB에 대해 빈 쿼리를 실행하고 실패 여부를 확인하는 것입니다. 나는 PetaPoco를 사용하고 싶지만 다른 사람들에게 개방하는 것이 좋습니다.

    답변

    1
    당신은 프레임 워크를 구축하는 경우 또한 사용자가 쿼리 문을 추가 할 수 있도록해야하는 매개 변수가 값 (정수, 문자열 등)

    의 종류를 알아야합니다

    과 매개 변수를 필요 유형, 값의 범위 및 기본값

    0

    트릭은 정규 표현식을 매개 변수로 대체하는 것입니다. 지금까지 SQL Server와 관련하여 이는 잘 구성된 쿼리입니다. 그래서 그것은 잘 실행되지만 논리적으로 정확한 것은 아닙니다 (예 : Column = NULL 및 Column IS NULL이 동일하지 않음). 오타가있는 경우이를 감지합니다.

    public class DbQueryTester : DbEntity 
    { 
        Regex m_rgx = new Regex(@"@\d+\s*"); 
        public bool TryQuery(string qry, out Exception ex) 
        { 
         try 
         { 
          string newQry = m_rgx.Replace(qry, "NULL "); 
          Fetch<object>(newQry); 
         } 
         catch (Exception tmp) 
         { 
          ex = tmp; 
          return false; 
         } 
         ex = null; 
         return true; 
        } 
    }