title: SQL Syntax Error Exception when trying to insert row into table
body: <p>Hi I am having trouble executing the following function without running into the following exception. I'm not sure why this is happening. I think it might have something to do with the quotes. I am using derby database if it matters.</p>
  
  <pre><code>java.sql.SQLSyntaxErrorException
  </code></pre>
  
  <p>This is the following code I am trying to execute:</p>
  
  <pre><code>public void addAlbum(Album album) throws IOException, SQLException {
      Properties props = new Properties();
      FileInputStream in = new FileInputStream("database.properties");
      props.load(in);
      in.close();
  
      props.getProperty("jdbc.drivers");
      String url = props.getProperty("jdbc.url");
      String username = props.getProperty("jdbc.username");
      String password = props.getProperty("jdbc.password");
  
      Connection connection = DriverManager.getConnection(url, username, password);
      Statement statement = connection.createStatement();
      String sql = null;
  
      if(album instanceof CDAlbum) {
          CDAlbum cdAlbum = (CDAlbum)album;
          sql = "INSERT INTO MyAlbums VALUES ('CD', '" + cdAlbum.getTitle() + "', '" + cdAlbum.getGenre() + "','" + cdAlbum.getArtist() + "', '" + cdAlbum.getTracks() + "');";
      }
      if(album instanceof DVDAlbum) {
          DVDAlbum dvdAlbum = (DVDAlbum)album;
          sql = "INSERT INTO MyAlbums VALUES ('DVD', '" + dvdAlbum.getTitle() + "', '" + dvdAlbum.getGenre() + "','" + dvdAlbum.getDirector() + "', '" + dvdAlbum.getPlotOutline() + "');";
      }
  
      statement.executeUpdate(sql);
      System.out.println("Album Added!");
  
      if(statement != null) {
          statement.close();
      }
      if(connection != null) {
          connection.close();
      }
  }
  </code></pre>
  
  <p>This is the exception:</p>
  
  <pre><code>java.sql.SQLSyntaxErrorException: Syntax error: Encountered "t" at line 2, column 5.
  at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
  at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
  at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
  at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
  at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
  at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
  at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
  at org.apache.derby.impl.jdbc.EmbedStatement.executeLargeUpdate(Unknown Source)
  at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source)
  at au.edu.uow.CollectionDB.MyCollectionDB.addAlbum(MyCollectionDB.java:194)
  at au.edu.uow.Collection.CollectionFactory.loadCollection(CollectionFactory.java:136)
  at MyCollection.main(MyCollection.java:18)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:606)
  at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
  Caused by: ERROR 42X01: Syntax error: Encountered "t" at line 2, column 5.
  at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
  at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
  at org.apache.derby.impl.sql.compile.ParserImpl.parseStatementOrSearchCondition(Unknown Source)
  at org.apache.derby.impl.sql.compile.ParserImpl.parseStatement(Unknown Source)
  at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
  at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
  at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source)
  ... 11 more
  </code></pre>