2012-12-06 7 views
0

sqlserver에 연결된 sqldatasource에 Gridview가 연결되어 있고 Select 문을 추가했으며 원하는대로 작동합니다.SQLdatasource에 내부 조인 업데이트 문 추가

SELECT S.[ID], S.[Survey_Name], S.[Start_Date], S.[End_Date], C.[Category_Name], S.[Username], S.[Picture],S.[Audience] FROM [Survey] S 
Inner Join 
Category C On S.Category_ID = C.ID 
, 나는이 시도 지금은 단지 사용자가있는 gridview를 편집 할 때 위의 필드를 업데이트하는 Update 문을 추가해야

:

UPDATE 
     Survey S 
INNER JOIN 
     Category C 
        On S.Category_ID = C.ID 
SET 
[email protected]_Name, 
[email protected]_Date, 
S.End_Date = @End_Date, 
C.Category_Name [email protected]_Name, 
S.Username = @Username, 
[email protected] 

Where 
[email protected] 

그러나 그것은 단지 습관 일을하고,주고 유지 잘못된 구문 "S", 또는 잘못된 구문 "내부"와 같은 나 오류 ...

답변

4

귀하의 업데이트 문이 올바르지 않습니다

UPDATE Survey 
SET 
[email protected]_Name, 
[email protected]_Date, 
Survey.End_Date = @End_Date, 
C.Category_Name = @Category_Name, 
Survey.Username = @Username, 
[email protected] 
FROM Survey S 
INNER JOIN Category C 
On S.Category_ID = C.ID 
Where 
[email protected] 
빠른 응답 6,

편집

UPDATE Survey 
SET 
[email protected]_Name, 
[email protected]_Date, 
End_Date = @End_Date, 
Category_ID =C.ID, 
Username = @Username, 
[email protected] 
FROM Survey S 
INNER JOIN Category C 
On C.Category_Name = @Category_Name 
WHERE 
[email protected] 
+0

감사합니다, 나는 그것을 시도하지만 갱신 할 때 나에게 "모호한 열 이름 'ID'"분류 및 조사 모두 차 있기 때문에, 나는 그것을 짐작했다 ID가 "ID"인 키의 경우, 조사의 category_ID는 카테고리의 기본 키의 외래 키입니다. 어떻게 해결할 수 있습니까? – BasharKH

+1

where 절에서 그것을'C.ID = @ ID' 또는'S.ID = @ ID' 중에서 옳은 것으로 변경하십시오. –

+0

@ScottChamberlain, 고마워요.하지만 작동하지 않아요. "다중 부분 식별자"C.Category_Name "을 (를) 바인딩 할 수 없습니다." – BasharKH