그복사명령포스트그레SQL읽거나 쓸 수 있는 옵션이 있습니다 다음에서 사용하는 네트워크 연결로libpq++. 그러므로 꼭 필요한 기능 이 네트워크 연결에 직접 액세스하여 애플리케이션이 이 기능을 최대한 활용하세요.
PgDatabase::GetLine읽는다
줄 바꿈으로 끝나는 문자 줄(에 의해 전송됨)
백엔드 서버)를 버퍼로문자열크기길이.
int PgDatabase::GetLine(char* 문자열, int 길이)
유닉스 시스템 루틴과 유사함fgets(), 이 루틴은 최대길이-1문자로문자열. 그것은 같다get()그러나 그 점에서는
종료되는 개행 문자를 0바이트로 변환합니다.
PgDatabase::GetLine반환EOF파일 끝에서, 전체인 경우 0
행을 읽었으며, 버퍼가 가득 차 있지만
개행 종료는 아직 읽혀지지 않았습니다.
응용프로그램은 새로운
줄은 백슬래시와 마침표()로 구성됩니다.\.), 이는 백엔드 서버가
님이 결과 전송을 완료했습니다.복사. 그러므로 만약 신청이
다음보다 많은 라인을 수신할 것으로 예상됩니다.길이-1문자 길이이므로 응용 프로그램은 다음을 확인해야 합니다.
반환 값PgDatabase::GetLine아주 조심스럽게.
PgDatabase::PutLine다음을 보냅니다
null로 종료됨문자열에
백엔드 서버.
void PgDatabase::PutLine(char* 문자열)
응용프로그램은 명시적으로 문자를 보내야 합니다\.백엔드에 다음을 나타냅니다. 데이터 전송이 완료되었습니다.
PgDatabase::End스포츠 토토백엔드와 동기화합니다.
int PgDatabase::End스포츠 토토()
이 함수는 백엔드가 완료될 때까지 기다립니다.
처리 중복사. 다음 중 하나를 수행해야 합니다.
마지막 문자열이 백엔드로 전송되면 발행됩니다.
사용 중PgDatabase::PutLine또는
다음을 사용하여 백엔드에서 마지막 문자열을 수신한 경우PgDatabase::GetLine. 반드시
발행되거나 백엔드가 얻을 수 있습니다."밖으로
동기화"프런트엔드와 함께. 여기서 돌아오자마자
함수를 사용하면 백엔드는 다음 메시지를 수신할 준비가 되었습니다.
명령.
성공적으로 완료되면 반환 값은 0이며 0이 아닙니다. 그렇지 않으면.
예를 들면:
Pg데이터베이스 데이터;
data.Exec("CREATE TABLE foo (a int4, b char(16), d 배정밀도)");
data.Exec("STDIN에서 foo 복사");
data.PutLine("3\tHello World\t4.5\n");
data.PutLine("4\tGoodbye World\t7.11\n");
...
data.PutLine("\\.\n");
데이터.EndCopy();