home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _9592d2b289dc2c0dec3ba2cbf30102bb < prev    next >
Text File  |  2000-03-23  |  5KB  |  157 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>DBI::Format - A package for displaying result tables</TITLE>
  5. <LINK REL="stylesheet" HREF="../../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> DBI::Format - A package for displaying result tables</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#available subclasses">AVAILABLE SUBCLASSES</A></LI>
  26.     <UL>
  27.  
  28.         <LI><A HREF="#ascii boxes">Ascii boxes</A></LI>
  29.     </UL>
  30.  
  31.     <LI><A HREF="#author and copyright">AUTHOR AND COPYRIGHT</A></LI>
  32.     <LI><A HREF="#see also">SEE ALSO</A></LI>
  33. </UL>
  34. <!-- INDEX END -->
  35.  
  36. <HR>
  37. <P>
  38. <H1><A NAME="name">NAME</A></H1>
  39. <P>DBI::Format - A package for displaying result tables</P>
  40. <P>
  41. <HR>
  42. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  43. <UL>
  44. <LI>Linux</LI>
  45. <LI>Solaris</LI>
  46. <LI>Windows</LI>
  47. </UL>
  48. <HR>
  49. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  50. <PRE>
  51.   # create a new result object
  52.   $r = DBI::Format->new('var1' => 'val1', ...);</PRE>
  53. <PRE>
  54.   # Prepare it for output by creating a header
  55.   $r->header($sth, $fh);</PRE>
  56. <PRE>
  57.   # In a loop, display rows
  58.   while ($ref = $sth->fetchrow_arrayref()) {
  59.     $r->row($ref);
  60.   }</PRE>
  61. <PRE>
  62.   # Finally create a trailer
  63.   $r->trailer();</PRE>
  64. <P>
  65. <HR>
  66. <H1><A NAME="description">DESCRIPTION</A></H1>
  67. <P>THIS PACKAGE IS STILL VERY EXPERIMENTAL. THINGS WILL CHANGE.</P>
  68. <P>This package is used for making the output of DBI::Shell configurable.
  69. The idea is to derive a subclass for any kind of output table you might
  70. create. Examples are</P>
  71. <UL>
  72. <LI>
  73. a very simple output format as offered by DBI::neat_list().
  74. <A HREF="#available subclasses">AVAILABLE SUBCLASSES</A>.
  75. <P></P>
  76. <LI>
  77. a box format, as offered by the Data::ShowTable module.
  78. <P></P>
  79. <LI>
  80. HTML format, as used in CGI binaries
  81. <P></P>
  82. <LI>
  83. postscript, to be piped into lpr or something similar
  84. <P></P></UL>
  85. <P>In the future the package should also support interactive methods, for
  86. example tab completion.</P>
  87. <P>These are the available methods:</P>
  88. <DL>
  89. <DT><STRONG><A NAME="item_new"><CODE>new(@attr)</CODE></A></STRONG><BR>
  90. <DD>
  91. <DT><STRONG><CODE>new(\%attr)</CODE></STRONG><BR>
  92. <DD>
  93. (Class method) This is the constructor. You'd rather call a subclass
  94. constructor. The construcor is accepting either a list of key/value
  95. pairs or a hash ref.
  96. <P></P>
  97. <DT><STRONG><A NAME="item_header">header($sth, $fh)</A></STRONG><BR>
  98. <DD>
  99. (Instance method) This is called when a new result table should be
  100. created to display the results of the statement handle <STRONG>$sth</STRONG>. The
  101. (optional) argument <STRONG>$fh</STRONG> is an IO handle (or any object supporting
  102. a <EM>print</EM> method), usually you use an IO::Wrap object for STDIN.
  103. <P>The method will query the <STRONG>$sth</STRONG> for its <EM>NAME</EM>, <EM>NUM_OF_FIELDS</EM>,
  104. <EM>TYPE</EM>, <EM>SCALE</EM> and <EM>PRECISION</EM> attributes and typically print a
  105. header. In general you should not assume that <STRONG>$sth</STRONG> is indeed a DBI
  106. statement handle and better treat it as a hash ref with the above
  107. attributes.</P>
  108. <P></P>
  109. <DT><STRONG><A NAME="item_row"><CODE>row($ref)</CODE></A></STRONG><BR>
  110. <DD>
  111. (Instance method) Prints the contents of the array ref <STRONG>$ref</STRONG>. Usually
  112. you obtain this array ref by calling <STRONG>$sth->fetchrow_arrayref()</STRONG>.
  113. <P></P>
  114. <DT><STRONG><A NAME="item_trailer">trailer</A></STRONG><BR>
  115. <DD>
  116. (Instance method) Once you have passed all result rows to the result
  117. package, you should call the <EM>trailer</EM> method. This method can, for
  118. example print the number of result rows.
  119. <P></P></DL>
  120. <P>
  121. <HR>
  122. <H1><A NAME="available subclasses">AVAILABLE SUBCLASSES</A></H1>
  123. <P>First of all, you can use the DBI::Format package itself: It's
  124. not an abstract base class, but a very simple default using
  125. DBI::neat_list().</P>
  126. <P>
  127. <H2><A NAME="ascii boxes">Ascii boxes</A></H2>
  128. <P>This subclass is using the <EM>Box</EM> mode of the <EM>Data::ShowTable</EM> module
  129. internally. <A HREF="../../../Data/ShowTable(3).html">the Data::ShowTable(3) manpage</A>.</P>
  130. <P>
  131. <HR>
  132. <H1><A NAME="author and copyright">AUTHOR AND COPYRIGHT</A></H1>
  133. <P>This module is Copyright (c) 1997, 1998</P>
  134. <PRE>
  135.     Jochen Wiedmann
  136.     Am Eisteich 9
  137.     72555 Metzingen
  138.     Germany</PRE>
  139. <PRE>
  140.     Email: joe@ispsoft.de
  141.     Phone: +49 7123 14887</PRE>
  142. <P>The DBD::Proxy module is free software; you can redistribute it and/or
  143. modify it under the same terms as Perl itself.</P>
  144. <P>
  145. <HR>
  146. <H1><A NAME="see also">SEE ALSO</A></H1>
  147. <P><A HREF="../../../DBI/Shell(3).html">the DBI::Shell(3) manpage</A>, <EM>DBI(3)</EM>, <EM>dbish(1)</EM></P>
  148. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  149. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  150. <STRONG><P CLASS=block> DBI::Format - A package for displaying result tables</P></STRONG>
  151. </TD></TR>
  152. </TABLE>
  153.  
  154. </BODY>
  155.  
  156. </HTML>
  157.