📄 pgcursordb.cc
字号:
/*------------------------------------------------------------------------- * * FILE * pgcursordb.cpp * * DESCRIPTION * implementation of the PgCursor class. * PgCursor encapsulates a cursor interface to the backend * * Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION * $Header: /usr/local/cvsroot/pgsql/src/interfaces/libpq++/pgcursordb.cc,v 1.4 1999/06/01 02:43:37 momjian Exp $ * *------------------------------------------------------------------------- */ #include "pgcursordb.h" // ****************************************************************//// PgCursor Implementation//// ****************************************************************// Make a connection to the specified database with default environment// See PQconnectdb() for conninfo usagePgCursor::PgCursor(const char* conninfo, const char* cursor) : PgTransaction(conninfo), pgCursor(cursor){}// Do not make a connection to the backend -- just query// Connection should not be closed after the object destructs since some// other object is using the connection//PgCursor::PgCursor(const PgConnection& conn, const char* cursor)// : PgTransaction(conn), pgCursor(cursor)//{}// Destructor: End the transaction blockPgCursor::~PgCursor(){ Close();}// ****************************************************************//// PgCursor: Cursor Interface Implementation//// ****************************************************************// Declare a cursor: name has already been supplied in the constructorint PgCursor::Declare(const string& query, int binary){ string cmd = "DECLARE " + pgCursor; if ( binary ) cmd += " BINARY"; cmd += " CURSOR FOR " + query; return ExecCommandOk( cmd.c_str() );} // End Declare()// Fetch ALL tuples in given directionint PgCursor::Fetch(const char* dir){ return Fetch("ALL", dir);} // End Fetch()// Fetch specified amount of tuples in given directionint PgCursor::Fetch(unsigned num, const char* dir){ return Fetch( IntToString(num), dir );} // End Fetch()// Create and execute the actual fetch command with the given argumentsint PgCursor::Fetch(const string& num, const string& dir){ string cmd = "FETCH " + dir + " " + num + " IN " + pgCursor; return ExecTuplesOk( cmd.c_str() );} // End Fetch()// Close the cursor: no more queries using the cursor should be allowed// Actually, the backend should take care of it.int PgCursor::Close(){ string cmd = "CLOSE " + pgCursor; return ExecCommandOk( cmd.c_str() );} // End CloseCursor()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -