I'm writing an applet using Tomcat to register new members for a library.
Everything works fine until I get to the part where the new information is
being inserted into the MSAccess DB.  I have commented below where the error
occurs.  Any help would be appreciated.

Thanks,

Jeff
------------------
//New member registration

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.sql.*;

public class NewMember extends HttpServlet {
   private Statement statement = null;
   private Connection connection = null;
   String url = "jdbc:odbc:NewMember";
   String username="";
   String password="";

   public void init( ServletConfig config )
      throws ServletException
   {
      super.init( config );

      try {
         Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
         connection =
            DriverManager.getConnection( url, username, password );
      }
      catch ( Exception e ) {
         e.printStackTrace();
         connection = null;
      }
   }

   public void doPost( HttpServletRequest req,
                       HttpServletResponse res )
      throws ServletException, IOException
   {
      String passwd, member_type, fname, mname, lname, address1,
          address2, city, zip, country, home_phone, work_phone, email,
member_since, remarks;

      passwd= req.getParameter( "passwd" );
      member_type = req.getParameter( "member_type" );
      fname = req.getParameter( "fname" );
      mname = req.getParameter( "mname" );
      lname = req.getParameter( "lname" );
      address1 = req.getParameter( "address1" );
      address2 = req.getParameter( "address2" );
      city = req.getParameter( "city" );
      zip = req.getParameter( "zip" );
   country = req.getParameter( "country" );
      home_phone = req.getParameter( "home_phone" );
      work_phone = req.getParameter( "work_phone" );
      email = req.getParameter( "email" );
      member_since = req.getParameter( "member_since" );
      remarks = req.getParameter( "remarks" );

      PrintWriter output = res.getWriter();
      res.setContentType( "text/html" );

      if ( passwd.equals( "" ) ||
           fname.equals( "" ) ||
           lname.equals( "" ) ) {
         output.println( "<H3> Please click the back " +
                         "button and fill in all " +
                         "fields.</H3>" );
         output.close();
         return;
      }

   //Below is where the problem occurs.  I get the HTML message below of "An
error occured..."
   //I think the insertIntoDB method is not working.  It's being inserted
into a MSAccess DB
   //which has been registered.

      boolean success = insertIntoDB("'" + passwd + "','" + member_type +
"','" + fname + "','" +
      mname + "','" + lname + "','" + address1 + "','" + address2 + "','" +
city + "','" + zip + "','" +
      country + "','" + home_phone + "','" + work_phone + "','" + email +
"','" + member_since +
       "','" + remarks + "'" );

      if ( success )
         output.print( "<H2>Thank you " + fname +
                       " for registering.</H2>" );
      else
         output.print( "<H2>An error occurred. " +
                       "Please try again later.</H2>" );

      output.close();
   }

   private boolean insertIntoDB( String stringtoinsert )
   {
      try {
         statement = connection.createStatement();
         statement.execute(
            "INSERT INTO NewMember values (" +
            stringtoinsert + ");" );
         statement.close();
      }
      catch ( Exception e ) {
         System.err.println(
            "ERROR: Problems with adding new entry" );
         e.printStackTrace();
         return false;
      }

      return true;
   }

   public void destroy()
   {
      try {
         connection.close();
      }
      catch( Exception e ) {
         System.err.println( "Problem closing the database" );
      }
   }
}

Reply via email to