title: How can I update my MySQL database from a Java applet?
body: <p>I'm new to Java and I need some advice/information on how to debug my Java Applet.</p>
  
  <p>I have created a applet that simply updates a MySQL database.  The applet seems to load in the web page with no errors.  When I click on my button to update the database it seems to actually make the call to the applet, BUT nothing happens, i.e. no new inserts are made to the database, and the page returns properly.</p>
  
  <p>I have taken the applet code and tested it in a Java desktop app.  It works fine, no changes other than removing the "extend Applet" modifier.  In the desktop app the database gets updated properly.</p>
  
  <p>If I was given some pointers on how to write to the Java Console window that might help me in debugging the code - but I don't know how to do that.  I'm not sure what else to try to find the issue.  Everything seems correct to me.  </p>
  
  <p>BTW: I'm using Netbeans 6.7 in Windows 7 with the MySQL server and Glassfish 2.1 on a CENTOS (Linux) system.  </p>
  
  <p>Here is my code for the applet:</p>
  
  <pre><code>/*
   * To change this template, choose Tools | Templates
   * and open the template in the editor.
   */
  package org.me.db;
  import java.applet.*;
  import java.sql.*;
  
  /**
   *
   * @author Rick
   */
  public class dbapplet extends Applet {
  
      /**
       * Initialization method that will be called after the applet is loaded
       * into the browser.
       */
      public void init() {
          // TODO start asynchronous download of heavy resources
      }
  
      public long SaveToDatabase(String subject, String note, int priority,
              String category, String isOpen, String currentSession) {
          Connection con = null;
          Statement stmt = null;
          StringBuilder sb = new StringBuilder();
          long lastInsertId = -1;
  
          try {
              //build the insert
          int IsOpen = (isOpen.contains("1")) ? 1 : 2;
              sb.append("INSERT INTO 'LogDetails' ('category', 'priority', 
                   'subject', 'note', 'is_open', 'has_attachements') VALUES");
              sb.append(" (");
              sb.append("'" + category + "',");
              sb.append(priority + ",");
              sb.append("'" + subject + "',");
              sb.append("'" + note + "',");
              sb.append("b'" + IsOpen + "',");
              sb.append("b'0');");
  
              //connect and execute the insert
              String dbURL = "jdbc:mysql://localhost/authentication";
              Class.forName("com.mysql.jdbc.Driver");
              con = DriverManager.getConnection(dbURL, "xxxxxxx", "yyyyyyyy");
              stmt = con.createStatement();
              stmt.execute(sb.toString());
  
              //get the last inserted id
              ResultSet rs = null;
              rs = stmt.executeQuery("SELECT LAST_INSERT_ID()");
  
              if (rs.next()) {
                  lastInsertId = rs.getLong(1);
              }
              rs.close();
  
          } catch (Exception e) { //database problem
               System.out.println("Error " + e.getMessage());
               System.out.println(sb.toString());
          }
          return lastInsertId;
      } //end of SaveToDatabase
  
       public void QuickSaveToDataBase() {
          //disgard the result for now - lets see if we can get this working
          this.SaveToDatabase("Quick Save", "Testing of the Quick Save Function",
                 1, "Testing", "1", "skjdkjd-junk");
      }
  }
  </code></pre>