2012-01-04 4 views
1

C# 및 Microsoft SQL Server 프로젝트가 있는데 저장 프로 시저로 gridview를 채 웁니다.@tempTable 내부의 저장된 프로 시저에서 gridview 채우기

이 프로 시저에 테이블 선언이 있습니다 (opendatasource를 사용하여 다른 데이터베이스의 일부 데이터를 얻으려면 @temptable이 필요합니다).

SQL Server Management Studio에서는 문제가 없지만 프로 시저에 @tempTable (심지어 테이블을 사용하지 않음)의 감속도가있을 때 C# 프로젝트에서 gridview가 채워지지 않습니다.

@tempTable을 gridview에서 사용하려면 어떻게해야합니까?

p.s. 나는 또한 @ tmp, #tmp, ## tmp 테이블을 시도했다.

답변

0

연결 유형에 문제가 있습니다. oledbconnetion이었고 sqlconnection으로 변경했습니다. 이제는 저장 프로 시저에서 테이블 변수를 사용하여 그리드에서 선택할 수 있습니다.

1

간단한 대답은 임시 테이블이 만들어지고 데이터베이스 내에 상주하지 않는 한 일반 테이블처럼 연결할 수 없다는 것입니다. @temptable은 로컬 참조입니다.

테이블 정의를 알고 있지만 적절한 데이터 객체를 설정할 수 있습니다. 프로 시저에서 임시 테이블의 모든 행을 다시 전달하십시오. 결과를 데이터 객체의 컬렉션에 저장하고 해당 컬렉션을 그리드의 데이터 소스로 만듭니다.

이것은 서버 탐색기에서 끌어서 놓기 기능을 사용할 수는 없지만 사용자가 직접 SQL 명령을 코딩하여 해당 데이터를 검색하고 컬렉션을 채울 필요가 있음을 의미합니다.

관련 문제