dao(odbc)로 이용한 프로시저가 연결을 ado(oledb)로 바꾸고나서 안되는 경우가 있다.
간단한 예로
프로시저에서 2가지 작업을 한다고하자
1. 입력 쿼리
2. Select 쿼리
이 프로시저명을 sp_test 했을때 dao에선 이 select 쿼리의 값을 recordset에 담을수 있다.
하지만 ado에선 못담는다 -_-
아니 못담는것이 아니다. ado에선 sp_test 프로시저의 첫번째 작업인 1. 입력쿼리의 실행 갯수를 가져와버린다.
그래서 2. Select 쿼리의 실행결과를 못가져오는것이다.
그러니 이럴경우 sp 프로시저에서 SET NOCOUNT ON 을 선언해서 사용하면 실행결과 갯수 세지 않으므로
2. Select 쿼리의 결과값만 가져온다!
CREATE PROCEDURE sp_test
AS
SET NOCOUNT ON