2016-11-29 1 views
0

SQL 문에 대한 도움이 필요합니다.
SQL 문 오류 값 표시

나는 부동산 데이터베이스를 관리합니다. 내가 테이블을 가지고 속성 및 여러 테이블 침실, 욕실 등

내 에이전트는 목록 상자에서 모든 속성을 볼 수있는 양식을 가지고, 그가 좋아하는 하나를 선택하고 모든 정보를 표시합니다 콤보 박스

각 기준은 콤보 박스에 표시됩니다. 당신이 부동산 1을 보여 그래서 만약 당신이 볼 : 침실 : 1bedroom

는 지금 내 SQL 문은 다음과 같습니다

내가 콤보 상자에 표시하는 방법
"SELECT AreaSize.AreaSizeID, AreaSize.DescriptionSurface, Bathrooms.BathroomID, Bathrooms.DescriptionBathroom, Cities.CityID, Cities.DescriptionCities, Prices.PriceID, Prices.DescriptionPrices, Properties.*, Rooms.RoomID, Rooms.DescriptionRooms, Types.TypeID, Types.DescriptionType, Users.* FROM Users INNER JOIN (Types INNER JOIN (Rooms INNER JOIN (Prices INNER JOIN (Cities INNER JOIN (Bathrooms INNER JOIN (AreaSize INNER JOIN Properties ON AreaSize.AreaSizeID = Properties.AreaSize) ON Bathrooms.BathroomID = Properties.Bathrooms) ON Cities.CityID = Properties.City) ON Prices.PriceID = Properties.Price) ON Rooms.RoomID = Properties.Rooms) ON Types.TypeID = Properties.PropertyType) ON Users.UserID = Properties.AgentID WHERE Users.email [email protected]"; 


:

cboBedrooms.Text = tbListing.Rows[idx]["DescriptionRooms"].ToString(); 

문제는 지금은 선택한 속성의 값만 보여주고 다른 모든 값은 표시하지 않는다는 것입니다. 당신이 화살표를 클릭보다, 2 개의 침실과 1 개의 침실

+-----------------------------------------+ 
| Properties       | 
+------------+------------+---------------+ 
| PropertyID | NbBedrooms | AgentID... | 
| 1   | 1   | 2...   | 
| 2   | 2   | 1...  | 
+------------+------------+------------+ 
을 보여줍니다 2 개 침실
가 표시되어야합니다 :

전 재산 2에서 오전 경우는 침실을위한 콤보 상자 만 표시

+-------------------------+ 
| Bedrooms    | 
+------------+------------+ 
| PropertyID | NbBedrooms | 
| 1   | 1bedroom | 
| 2   | 2bedrooms | 
+------------+------------+ 

답변

1

사용자가 선택할 수있는 실제 항목 모음이 아닌 ComboBox의 텍스트 만 설정하는 것이 문제입니다. 이를 달성하려면 DataTable 개체를 반복하고 각 옵션에 대해 ComboBox에 새 항목을 추가하십시오. 당신이 재산들은 잠재적으로 변경하기 전에 값이 무엇인지 사용자를 보여주기 위해 당신이 현재 설정된 값과 동일 ComboBoxSelectedItem 속성을 설정할 수 있습니다 Items 수집을 작성하고 나면 그 다음

foreach (DataRow row in tbListing.Rows) 
{ 
    cboBedrooms.Items.Add(row["DescriptionRooms"].ToString(); 
} 

.

그래서 루프를 통과하고 채울 수 있다면 당신의 가치 A, B, C, DComboBox 당신은 당신이 간단 할 것 B 선택한 값을 설정하고 싶었 :

cboBedrooms.SelectedItem = "B"; 

가 더 추가 단계를 당신이 있습니다 이동하려면 변경하려는 경우 사용자가 선택한 새 값을 데이터베이스에 다시 쓰고 싶을 수 있습니다. ComboBox의 선택한 값을 가져 오려면 SelectedItem 속성을 사용하고 .ToString() 접미사를 사용하십시오.

참고 : SelectedItem 속성은 object 유형을 가져오고 설정합니다. 문자열 만 사용하는 것을 보면 단순한 .ToString()을 사용하여 선택한 값을 가져올 수 있지만 더 복잡한 객체를 사용하려는 경우 먼저 해당 객체로 캐스팅 한 다음 값을 검색해야합니다.