First lets look at what your code would send to the database when the person's title is "Sergent Major"
INSERT INTO Books VALUES (1, Sergent Major, 4.28, TRUE, 2008, The Bees Knees,FALSE) DB: Huh? Is there supposed to be a comma after 'Sergent'
You: It's suppsed to be a String
DB: You need to put Strings inside single quotes when using databases
You: Oh.
Hence:
stmnt.executeUpdate("INSERT INTO Books VALUES (" + b.getID() +", '" + b.getTitle() + "'," + b.getPrice() + "," + b.getOnSale() + "," + b.getYear()+ ",'" + b.getDescription() + "'," + b.getInventory()+")");
(Note the single quotes around the title and description sent to the DB)
The next step after basic statements is to get into the habit of using a PreparedStatement. These have several advantages which we won't go into here, but it means we can write code like this:
At this stage you'll need to look up the appropriate setXXX methods from the API, but it adds the single quotes for you, and is so much easier to read in the long run.