title: What is wrong with my SQL statement? Cannot Insert NULL
body: <p>What am I doing wrong?  I keep getting weird errors from SQL? </p>
  
  <pre><code>   //get parameters from the request
   String custID=request.getParameter("cust_ID");
   String saleID=request.getParameter("sale_ID");
   String firstName=request.getParameter("first_Name");
   String mInitial=request.getParameter("mI");
   String lastName=request.getParameter("last_Name");
   String streetName=request.getParameter("street");
   String city=request.getParameter("city");
   String state=request.getParameter("state");
   String zipCode=request.getParameter("zip_Code");
   String DOB=request.getParameter("DOB");
   String agentID=request.getParameter("agent_ID");
   String homePhone=request.getParameter("home_Phone");
   String cellPhone=request.getParameter("cell_Phone");
   String profession=request.getParameter("profession");
   String employer=request.getParameter("emoployer");
   String referrer=request.getParameter("referrer");
  
  
     preparedStatement = conn.prepareStatement("INSERT INTO customer (cust_ID, sale_ID, first_Name, mI, last_Name, street_Name, city, state, zip_Code, DOB, agent_ID, home_Phone, cell_Phone, profession, employer, referrer)"
                  + " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
  
  preparedStatement.setInt(1, Integer.valueOf(custID));
  preparedStatement.setInt(2, Integer.valueOf(saleID));
  preparedStatement.setString(3, firstName);
  preparedStatement.setString(4, mInitial);
  preparedStatement.setString(5, lastName);
  preparedStatement.setString(6, streetName);
  preparedStatement.setString(7, city);
  preparedStatement.setString(8, state);
  preparedStatement.setString(9, zipCode);
  preparedStatement.setString(10, DOB);
  preparedStatement.setInt(11, Integer.valueOf(agentID));
  preparedStatement.setString(12, homePhone);
  preparedStatement.setString(13, cellPhone);
  preparedStatement.setString(14, profession);
  preparedStatement.setString(15, employer);
  preparedStatement.setString(16, referrer);
  
  preparedStatement.executeUpdate();
  </code></pre>
  
  <p>SQL DDL</p>
  
  <pre><code>   CREATE TABLE customer
         (cust_ID     NUMBER          NOT NULL,
          sale_ID             NUMBER          NOT NULL,
          first_Name      VARCHAR2(30)        NOT NULL,
          mI          VARCHAR2(2)         ,
          last_Name       VARCHAR2(50)        NOT NULL,
          street_Name     VARCHAR2(50)        NOT NULL,
          city            VARCHAR2(30)        NOT NULL,
          state           VARCHAR2(2)     NOT NULL,
          zip_Code        VARCHAR2(5)     NOT NULL,
          DOB         DATE            ,
          agent_ID        NUMBER              ,
          home_Phone      VARCHAR2(12)        UNIQUE,         
          cell_Phone      VARCHAR2(12)        UNIQUE,
          profession      VARCHAR2(30)            ,
          employer        VARCHAR2(30)            ,
          referrer        VARCHAR2(30)            
       );    
  </code></pre>
  
  <p>SQL DML</p>
  
  <pre><code>   INSERT INTO customer VALUES (primary_ID.nextval,17,'Kito','M','Bradford','123 DeLancy Lane','Wabash','TX','12345','01-JAN-69',1,'222-222-2222','301-555-6874','software engineer','HPL', NULL);
     INSERT INTO customer VALUES (primary_ID.nextval,18,'Morpheus',' ','Smith','1289 Matrix Lane','Idaho', 'NE', '45678','06-JUN-72',2,'321-654-9877','258-852-9635','doctor', 'The OC', NULL);
  </code></pre>
  
  <p>Error message</p>
  
  <pre><code>org.apache.jasper.JasperException: An exception occurred processing JSP page       
  /customerAdd.jsp at line 70
  
  
  67:     &lt;%preparedStatement.setString(15, employer);%&gt;
  
  68:     &lt;%preparedStatement.setString(16, referrer);%&gt;
  
  69: 
  
  70:     &lt;%preparedStatement.executeUpdate();%&gt;
  
  
  root cause
  
  javax.servlet.ServletException: java.sql.SQLException: [Oracle][ODBC][Ora]ORA-
  01400:cannot insert NULL into ("CM485A07"."CUSTOMER"."STREET_NAME")
  </code></pre>