By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,960 Members | 1,142 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,960 IT Pros & Developers. It's quick & easy.

JSP/Dreamweaver Insert Record error

ak1dnar
Expert 100+
P: 1,584
There is a Error getting while i am entering records using this jsp file.

Expand|Select|Wrap|Line Numbers
  1. <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
  2. <%@ include file="../Connections/conn.jsp" %>
  3. <%
  4. // *** Edit Operations: declare variables
  5.  
  6. // set the form action variable
  7. String MM_editAction = request.getRequestURI();
  8. if (request.getQueryString() != null && request.getQueryString().length() > 0) {
  9.   String queryString = request.getQueryString();
  10.   String tempStr = "";
  11.   for (int i=0; i < queryString.length(); i++) {
  12.     if (queryString.charAt(i) == '<') tempStr = tempStr + "&lt;";
  13.     else if (queryString.charAt(i) == '>') tempStr = tempStr + "&gt;";
  14.     else if (queryString.charAt(i) == '"') tempStr = tempStr +  "&quot;";
  15.     else tempStr = tempStr + queryString.charAt(i);
  16.   }
  17.   MM_editAction += "?" + tempStr;
  18. }
  19.  
  20. // connection information
  21. String MM_editDriver = null, MM_editConnection = null, MM_editUserName = null, MM_editPassword = null;
  22.  
  23. // redirect information
  24. String MM_editRedirectUrl = null;
  25.  
  26. // query string to execute
  27. StringBuffer MM_editQuery = null;
  28.  
  29. // boolean to abort record edit
  30. boolean MM_abortEdit = false;
  31.  
  32. // table information
  33. String MM_editTable = null, MM_editColumn = null, MM_recordId = null;
  34.  
  35. // form field information
  36. String[] MM_fields = null, MM_columns = null;
  37. %>
  38. <%
  39. // *** Insert Record: set variables
  40.  
  41. if (request.getParameter("MM_insert") != null && request.getParameter("MM_insert").toString().equals("test_form")) {
  42.  
  43.   MM_editDriver     = MM_conn_DRIVER;
  44.   MM_editConnection = MM_conn_STRING;
  45.   MM_editUserName   = MM_conn_USERNAME;
  46.   MM_editPassword   = MM_conn_PASSWORD;
  47.   MM_editTable  = "saberlegal_db.projects";
  48.   MM_editRedirectUrl = "index.jsp";
  49.   String MM_fieldsStr = "name|value";
  50.   String MM_columnsStr = "p_name|',none,''";
  51.  
  52.   // create the MM_fields and MM_columns arrays
  53.   java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_fieldsStr,"|");
  54.   MM_fields = new String[tokens.countTokens()];
  55.   for (int i=0; tokens.hasMoreTokens(); i++) MM_fields[i] = tokens.nextToken();
  56.  
  57.   tokens = new java.util.StringTokenizer(MM_columnsStr,"|");
  58.   MM_columns = new String[tokens.countTokens()];
  59.   for (int i=0; tokens.hasMoreTokens(); i++) MM_columns[i] = tokens.nextToken();
  60.  
  61.   // set the form values
  62.   for (int i=0; i+1 < MM_fields.length; i+=2) {
  63.     MM_fields[i+1] = ((request.getParameter(MM_fields[i])!=null)?(String)request.getParameter(MM_fields[i]):"");
  64.   }
  65.  
  66.   // append the query string to the redirect URL
  67.   if (MM_editRedirectUrl.length() != 0 && request.getQueryString() != null) {
  68.     MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + request.getQueryString();
  69.   }
  70. }
  71. %>
  72. <%
  73. // *** Insert Record: construct a sql insert statement and execute it
  74.  
  75. if (request.getParameter("MM_insert") != null) {
  76.  
  77.   // create the insert sql statement
  78.   StringBuffer MM_tableValues = new StringBuffer(), MM_dbValues = new StringBuffer();
  79.   for (int i=0; i+1 < MM_fields.length; i+=2) {
  80.     String formVal = MM_fields[i+1];
  81.     String elem;
  82.     java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_columns[i+1],",");
  83.     String delim    = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
  84.     String altVal   = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
  85.     String emptyVal = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
  86.     if (formVal.length() == 0) {
  87.       formVal = emptyVal;
  88.     } else {
  89.       if (altVal.length() != 0) {
  90.         formVal = altVal;
  91.       } else if (delim.compareTo("'") == 0) {  // escape quotes
  92.         StringBuffer escQuotes = new StringBuffer(formVal);
  93.         for (int j=0; j < escQuotes.length(); j++)
  94.           if (escQuotes.charAt(j) == '\'') escQuotes.insert(j++,'\'');
  95.         formVal = "'" + escQuotes + "'";
  96.       } else {
  97.         formVal = delim + formVal + delim;
  98.       }
  99.     }
  100.     MM_tableValues.append((i!=0)?",":"").append(MM_columns[i]);
  101.     MM_dbValues.append((i!=0)?",":"").append(formVal);
  102.   }
  103.   MM_editQuery = new StringBuffer("insert into " + MM_editTable);
  104.   MM_editQuery.append(" (").append(MM_tableValues.toString()).append(") values (");
  105.   MM_editQuery.append(MM_dbValues.toString()).append(")");
  106.  
  107.   if (!MM_abortEdit) {
  108.     // finish the sql and execute it
  109.     Driver MM_driver = (Driver)Class.forName(MM_editDriver).newInstance();
  110.     Connection MM_connection = DriverManager.getConnection(MM_editConnection,MM_editUserName,MM_editPassword);
  111.     PreparedStatement MM_editStatement = MM_connection.prepareStatement(MM_editQuery.toString());
  112.     MM_editStatement.executeUpdate();
  113.     MM_connection.close();
  114.  
  115.     // redirect with URL parameters
  116.     if (MM_editRedirectUrl.length() != 0) {
  117.       response.sendRedirect(response.encodeRedirectURL(MM_editRedirectUrl));
  118.       return;
  119.     }
  120.   }
  121. }
  122. %>
  123. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  124. <html xmlns="http://www.w3.org/1999/xhtml">
  125. <head>
  126. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  127. <title>Untitled Document</title>
  128. </head>
  129.  
  130. <body><form action="<%=MM_editAction%>" method="POST" name="test_form">
  131. <input name="name" type="text" />
  132. <input name="send" type="submit" />
  133. <input type="hidden" name="MM_insert" value="test_form">
  134. </form>
  135. </body>
  136. </html>
  137.  
Expand|Select|Wrap|Line Numbers
  1. CREATE TABLE `projects` (
  2.   `p_id` int(11) NOT NULL auto_increment,
  3.   `p_name` varchar(50) NOT NULL,
  4.   `p_desc` varchar(10000) NOT NULL,
  5.   `p_status` int(1) default '1',
  6.   `p_start` datetime NOT NULL,
  7.   `p_end` datetime NOT NULL,
  8.   PRIMARY KEY  (`p_id`)
  9. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1001 ;
Error is getting here

Expand|Select|Wrap|Line Numbers
  1. HTTP Status 500 - 
  2.  
  3. --------------------------------------------------------------------------------
  4.  
  5. type Exception report
  6.  
  7. message 
  8.  
  9. description The server encountered an internal error () that prevented it from fulfilling this request.
  10.  
  11. exception 
  12.  
  13. javax.servlet.ServletException: java.sql.SQLException: Field 'p_desc' doesn't have a default value
  14.  
  15. root cause 
  16.  
  17. java.sql.SQLException: Field 'p_desc' doesn't have a default value
  18.  
  19. note The full stack traces of the exception and its root causes are available in the Sun Java System Application Server Platform Edition 9.0_01 logs.
  20.  
  21.  
  22. --------------------------------------------------------------------------------
  23.  
  24. Sun Java System Application Server Platform Edition 9.0_01
My Connection string is in a Different file.

Please help me to find out this error.
Mar 30 '07 #1
Share this question for a faster answer!
Share on Google+

Post your reply

Sign in to post your reply or Sign up for a free account.