FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[3612] [Q] C API 를 이용하여 업데이트 질의 문 수행 후 반영된 레코드 수 알아오기
안명호.ASURADA [asurada] 2337 읽음    2010-12-25 23:13
C API 의 isc_dsql_sql_info 와 isc_info_sql_records 를 이용하여 Update 구문을 실행한 뒤 반영된 레코드 수를 얻어오고 있는데 update 된 레코드 수가 계속 증가를 합니다.

데이터베이스를 detach 후 다시 attach 시켜도 초기화 되지 않고 계속 증가만 하네요.
바로 직전의 질의문에 의해서 반영된 레코드 수 만을 얻어 오려면 특별한 방법이 있는 건가요?

아래는 반영된 레코드 수를 얻어오기 위해 작성한 코드 입니다.
int del_count = 0, ins_count = 0, upd_count = 0, sel_count = 0;
static char const info_count[] = { isc_info_sql_records };
char result[64];
int ret = 0;

isc_dsql_sql_info( status, &stmt, sizeof(info_count), info_count, sizeof(result), result );

char* pCur = result;
int length;
if ( *pCur == isc_info_sql_records ) 
{
	pCur++;
	length = isc_vax_integer(pCur, 2); /* normally 29 bytes */
	pCur += 2;

	while(*pCur != 1) 
	{
		switch(*pCur) 
		{
		case isc_info_req_select_count:
			pCur++;
			length = isc_vax_integer(pCur, 2);
			pCur += 2;
			sel_count = isc_vax_integer(pCur, length);
			pCur += length;
			break;
		case isc_info_req_insert_count:
			pCur++;
			length = isc_vax_integer(pCur, 2);
			pCur += 2;
			ins_count = isc_vax_integer(pCur, length);
			pCur += length;
			break;
		case isc_info_req_update_count:
			pCur++;
			length = isc_vax_integer(pCur, 2);
			pCur += 2;
			upd_count = isc_vax_integer(pCur, length);
			pCur += length;
			break;
		case isc_info_req_delete_count:
			pCur++;
			length = isc_vax_integer(pCur, 2);
			pCur += 2;
			del_count = isc_vax_integer(pCur, length);
			pCur += length;
			break;
		default:
			pCur++;
			break;
		}
	}

	CString strMsg;
	strMsg.Format( _T("%d Row(s) Updated"), upd_count );
}

+ -

관련 글 리스트
3612 [Q] C API 를 이용하여 업데이트 질의 문 수행 후 반영된 레코드 수 알아오기 안명호.ASURADA 2337 2010/12/25
3615     Re:[Q] C API 를 이용하여 업데이트 질의 문 수행 후 반영된 레코드 수 알아오기 멀고도험한길 2193 2010/12/27
3616         Re:Re:[Q] C API 를 이용하여 업데이트 질의 문 수행 후 반영된 레코드 수 알아오기 안명호.ASURADA 2563 2010/12/27
3617             Re:Re:Re:[Q] C API 를 이용하여 업데이트 질의 문 수행 후 반영된 레코드 수 알아오기 멀고도험한길 2235 2010/12/27
3622                 Re:Re:Re:Re:[Q] C API 를 이용하여 업데이트 질의 문 수행 후 반영된 레코드 수 알아오기 안명호.ASURADA 2417 2010/12/30
3618                 Re:Re:Re:Re:[Q] C API 를 이용하여 업데이트 질의 문 수행 후 반영된 레코드 수 알아오기 안명호.ASURADA 2319 2010/12/27
3613     Re:[Q] C API 를 이용하여 업데이트 질의 문 수행 후 반영된 레코드 수 알아오기 멀고도험한길 9951 2010/12/27
3614         Re:Re:[Q] C API 를 이용하여 업데이트 질의 문 수행 후 반영된 레코드 수 알아오기 안명호.ASURADA 2340 2010/12/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.