<HTML ><HEAD ><TITLE >libpq++ - C++ Binding Library</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.64 "><LINK REV="MADE" HREF="mailto:pgsql-docs@postgresql.org"><LINK REL="NEXT" TITLE="Control and Initialization" HREF="libpqpp-init.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="stylesheet.css"><META NAME="creation" CONTENT="2002-11-27T04:23:11"></HEAD ><BODY CLASS="CHAPTER" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" > </TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="libpqpp-init.html" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="libpqplusplus" >Chapter 1. <SPAN CLASS="APPLICATION" >libpq++</SPAN > - C++ Binding Library</A ></H1 ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT >1.1. <A HREF="index.html#libpqpp-introduction" >Introduction</A ></DT ><DT >1.2. <A HREF="libpqpp-init.html" >Control and Initialization</A ></DT ><DT >1.3. <A HREF="libpqpp-classes.html" ><SPAN CLASS="APPLICATION" >libpq++</SPAN > Classes</A ></DT ><DD ><DL ><DT >1.3.1. <A HREF="libpqpp-classes.html#AEN100" >Connection Class: <TT CLASS="CLASSNAME" >PgConnection</TT ></A ></DT ><DT >1.3.2. <A HREF="libpqpp-classes.html#AEN104" >Database Class: <TT CLASS="CLASSNAME" >PgDatabase</TT ></A ></DT ></DL ></DD ><DT >1.4. <A HREF="libpqpp-connect.html" >Database Connection Functions</A ></DT ><DT >1.5. <A HREF="libpqpp-exec.html" >Query Execution Functions</A ></DT ><DD ><DL ><DT >1.5.1. <A HREF="libpqpp-exec.html#libpqpp-exec-main" >Main Routines</A ></DT ><DT >1.5.2. <A HREF="libpqpp-exec.html#libpqpp-exec-select-info" >Retrieving SELECT Result Information</A ></DT ><DT >1.5.3. <A HREF="libpqpp-exec.html#libpqpp-exec-select-values" >Retrieving SELECT Result Values</A ></DT ><DT >1.5.4. <A HREF="libpqpp-exec.html#libpqpp-exec-nonselect" >Retrieving Non-SELECT Result Information</A ></DT ></DL ></DD ><DT >1.6. <A HREF="libpqpp-notify.html" >Asynchronous Notification</A ></DT ><DT >1.7. <A HREF="libpqpp-copy.html" >Functions Associated with the COPY Command</A ></DT ></DL ></DIV > <A NAME="AEN4" ></A > <A NAME="AEN6" ></A > <DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="libpqpp-introduction" >1.1. Introduction</A ></H1 > <P > <SPAN CLASS="APPLICATION" >libpq++</SPAN > is the C++ API to <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN >. <SPAN CLASS="APPLICATION" >libpq++</SPAN > is a set of classes that allow client programs to connect to the <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > backend server. These connections come in two forms: a database class and a large object class. </P > <P > The database class is intended for manipulating a database. You can send all sorts of SQL queries and commands to the <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > backend server and retrieve the responses of the server. </P > <P > The large object class is intended for manipulating a large object in a database. Although a large object instance can send normal queries to the <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > backend server it is only intended for simple queries that do not return any data. A large object should be seen as a file stream. In the future it should behave much like the C++ file streams <TT CLASS="LITERAL" >cin</TT >, <TT CLASS="LITERAL" >cout</TT > and <TT CLASS="LITERAL" >cerr</TT >. </P > <P > This chapter is based on the documentation for the <SPAN CLASS="APPLICATION" >libpq</SPAN > C library (see libpq). There are several examples of <SPAN CLASS="APPLICATION" >libpq++</SPAN > applications in <TT CLASS="FILENAME" >src/interfaces/libpq++/examples</TT > in the source distribution. </P > </DIV > </DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="libpqpp-init.html" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Control and Initialization</TD ></TR ></TABLE ></DIV ></BODY ></HTML >