<html dir="LTR">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
    <title>AdoNetAppenderParameter Class</title>
    <xml>
    </xml>
    <link rel="stylesheet" type="text/css" href="MSDN.css" />
  </head>
  <body id="bodyID" class="dtBODY">
    <div id="nsbanner">
      <div id="bannerrow1">
        <table class="bannerparthead" cellspacing="0">
          <tr id="hdr">
            <td class="runninghead">Apache log4net� SDK Documentation - Microsoft .NET Framework 4.0</td>
            <td class="product">
            </td>
          </tr>
        </table>
      </div>
      <div id="TitleRow">
        <h1 class="dtH1">AdoNetAppenderParameter Class</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Parameter type used by the <a href="log4net.Appender.AdoNetAppender.html">AdoNetAppender</a>. </p>
      <p>For a list of all members of this type, see <a href="log4net.Appender.AdoNetAppenderParameterMembers.html">AdoNetAppenderParameter Members</a>.</p>
      <p>
        <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">System.Object</a>
        <br />���<b>log4net.Appender.AdoNetAppenderParameter</b></p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Public�Class�AdoNetAppenderParameter</div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <div>public�class�AdoNetAppenderParameter</div>
      </div>
      <H4 class="dtH4">Thread Safety</H4>
      <P>Public static (<b>Shared</b> in Visual Basic) members of this type are 
				safe for multithreaded operations. Instance members are <b>not</b> guaranteed to be 
				thread-safe.</P>
      <h4 class="dtH4">Remarks</h4>
            <p> This class provides the basic database parameter properties as defined by the <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemDataIDbDataParameterClassTopic.htm">IDbDataParameter</a> interface. </p>
            <p>This type can be subclassed to provide database specific functionality. The two methods that are called externally are <a href="log4net.Appender.AdoNetAppenderParameter.Prepare.html">Prepare</a> and <a href="log4net.Appender.AdoNetAppenderParameter.FormatValue.html">FormatValue</a>. </p>
            <h4 class="dtH4">Requirements</h4><p><b>Namespace: </b><a href="log4net.Appender.html">log4net.Appender</a></p><p><b>Assembly: </b>log4net (in log4net.dll)
					</p><h4 class="dtH4">See Also</h4><p><a href="log4net.Appender.AdoNetAppenderParameterMembers.html">AdoNetAppenderParameter Members</a> | <a href="log4net.Appender.html">log4net.Appender Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="AdoNetAppenderParameter class, about AdoNetAppenderParameter class"></param></object><hr /><div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2011 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div></div>
  </body>
</html>
