2009-11-01 5 views
0

사용자가 검색 할 다른 필드가있는 페이지를 만듭니다. 예 : 검색 :검색 선택 문

  • 학년 :
  • 학생 ID -dropdownlist2- : -dropdownlist4-
  • 년도 :
  • 수업 -dropdownlist3- -dropdownlist5-
  • 학생 이름
  • -dropdownlist1-

어떻게이 문장을 선택해야합니까? 각 드롭 다운 목록에는 데이터베이스에서 다른 데이터를 추출 할 select 문이 필요합니다.

하지만 드롭 다운 목록 옵션을 동적으로 선택할 수있는 선택 문을 작성하고 싶습니다. 대신 많은 많은 선택 진술을 작성합니다.

  • 등급 : -dropdownlist1-; 기본값 (모두)
  • 학생 이름 : -dropdownlist2-; 기본값 (모두)
  • 학생 ID : -dropdownlist3-; 0-100이 선택됨
  • 수업 : -dropdownlist4-; A-C가 선택됨
  • 년 : -dropdownlist5-; 2009 년 선택됨
+0

특정 선택 값을 사용하여 선택 목록을 채우는 방법이나 데이터베이스를 쿼리하는 방법을 묻는 중입니까? 어떤 데이터베이스 엔진을 사용하고 있습니까 (예 : MySQL, SQL Server, Oracle 등)? –

+0

내가 생각하는 데이터베이스를 쿼리하는 방법. 하나의 SQL 문을 써서 서로 다른 두 테이블의 데이터를 호출해야합니다. C#을 사용하고 데이터베이스 엔진이 SQL Server입니다. – Nana

+0

이렇게하면 제대로 할 수 있습니까? 잘못된 경우 어떻게 수정해야합니까? select * from Students (@Grade = '모두'또는 Grade = @Grade) 및 (@StudentName = '모두'또는 StudentName = @StudentName) 및 (StudentID = '모두'또는 StudentID = @ 스튜던트 ID) + inner (@Lessons = 'All'또는 Lessons = @Lessons) 및 (@Year = 'All'또는 Year = @Year)에서 select *에 참여하십시오. – Nana

답변

0

SQL과 페이지 사이에 사용하는 언어에 따라 다릅니다. 그러나 제네릭이 아닌 값에 대한 드롭 다운을 테스트하고 WHERE 절 다음에 추가 :

sql = "select * from people where 1 = 1"; 
if(dropdownlist.value != "All") 
    sql += "and name like '%" + dropdownlist.value + "%' "; 

톰의 대답에 확장

+0

내 테이블이 1 개의 테이블 밖에없는 경우는? 하지만 여러 테이블에서 나온거야? C#을 사용하고 있습니다. – Nana

+0

보기를 생성하고 –

0

(SQL의 생각 주입에 대한 조심),

먼저보기 만들기 필요한 레코드 세트를 포함합니다. 보기에서 조회하십시오.