Expand|Select|Wrap|Line Numbers
- <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
- <%@ include file="../Connections/conn.jsp" %>
- <%
- // *** Edit Operations: declare variables
- // set the form action variable
- String MM_editAction = request.getRequestURI();
- if (request.getQueryString() != null && request.getQueryString().length() > 0) {
- String queryString = request.getQueryString();
- String tempStr = "";
- for (int i=0; i < queryString.length(); i++) {
- if (queryString.charAt(i) == '<') tempStr = tempStr + "<";
- else if (queryString.charAt(i) == '>') tempStr = tempStr + ">";
- else if (queryString.charAt(i) == '"') tempStr = tempStr + """;
- else tempStr = tempStr + queryString.charAt(i);
- }
- MM_editAction += "?" + tempStr;
- }
- // connection information
- String MM_editDriver = null, MM_editConnection = null, MM_editUserName = null, MM_editPassword = null;
- // redirect information
- String MM_editRedirectUrl = null;
- // query string to execute
- StringBuffer MM_editQuery = null;
- // boolean to abort record edit
- boolean MM_abortEdit = false;
- // table information
- String MM_editTable = null, MM_editColumn = null, MM_recordId = null;
- // form field information
- String[] MM_fields = null, MM_columns = null;
- %>
- <%
- // *** Insert Record: set variables
- if (request.getParameter("MM_insert") != null && request.getParameter("MM_insert").toString().equals("test_form")) {
- MM_editDriver = MM_conn_DRIVER;
- MM_editConnection = MM_conn_STRING;
- MM_editUserName = MM_conn_USERNAME;
- MM_editPassword = MM_conn_PASSWORD;
- MM_editTable = "saberlegal_db.projects";
- MM_editRedirectUrl = "index.jsp";
- String MM_fieldsStr = "name|value";
- String MM_columnsStr = "p_name|',none,''";
- // create the MM_fields and MM_columns arrays
- java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_fieldsStr,"|");
- MM_fields = new String[tokens.countTokens()];
- for (int i=0; tokens.hasMoreTokens(); i++) MM_fields[i] = tokens.nextToken();
- tokens = new java.util.StringTokenizer(MM_columnsStr,"|");
- MM_columns = new String[tokens.countTokens()];
- for (int i=0; tokens.hasMoreTokens(); i++) MM_columns[i] = tokens.nextToken();
- // set the form values
- for (int i=0; i+1 < MM_fields.length; i+=2) {
- MM_fields[i+1] = ((request.getParameter(MM_fields[i])!=null)?(String)request.getParameter(MM_fields[i]):"");
- }
- // append the query string to the redirect URL
- if (MM_editRedirectUrl.length() != 0 && request.getQueryString() != null) {
- MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + request.getQueryString();
- }
- }
- %>
- <%
- // *** Insert Record: construct a sql insert statement and execute it
- if (request.getParameter("MM_insert") != null) {
- // create the insert sql statement
- StringBuffer MM_tableValues = new StringBuffer(), MM_dbValues = new StringBuffer();
- for (int i=0; i+1 < MM_fields.length; i+=2) {
- String formVal = MM_fields[i+1];
- String elem;
- java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_columns[i+1],",");
- String delim = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
- String altVal = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
- String emptyVal = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
- if (formVal.length() == 0) {
- formVal = emptyVal;
- } else {
- if (altVal.length() != 0) {
- formVal = altVal;
- } else if (delim.compareTo("'") == 0) { // escape quotes
- StringBuffer escQuotes = new StringBuffer(formVal);
- for (int j=0; j < escQuotes.length(); j++)
- if (escQuotes.charAt(j) == '\'') escQuotes.insert(j++,'\'');
- formVal = "'" + escQuotes + "'";
- } else {
- formVal = delim + formVal + delim;
- }
- }
- MM_tableValues.append((i!=0)?",":"").append(MM_columns[i]);
- MM_dbValues.append((i!=0)?",":"").append(formVal);
- }
- MM_editQuery = new StringBuffer("insert into " + MM_editTable);
- MM_editQuery.append(" (").append(MM_tableValues.toString()).append(") values (");
- MM_editQuery.append(MM_dbValues.toString()).append(")");
- if (!MM_abortEdit) {
- // finish the sql and execute it
- Driver MM_driver = (Driver)Class.forName(MM_editDriver).newInstance();
- Connection MM_connection = DriverManager.getConnection(MM_editConnection,MM_editUserName,MM_editPassword);
- PreparedStatement MM_editStatement = MM_connection.prepareStatement(MM_editQuery.toString());
- MM_editStatement.executeUpdate();
- MM_connection.close();
- // redirect with URL parameters
- if (MM_editRedirectUrl.length() != 0) {
- response.sendRedirect(response.encodeRedirectURL(MM_editRedirectUrl));
- return;
- }
- }
- }
- %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- <title>Untitled Document</title>
- </head>
- <body><form action="<%=MM_editAction%>" method="POST" name="test_form">
- <input name="name" type="text" />
- <input name="send" type="submit" />
- <input type="hidden" name="MM_insert" value="test_form">
- </form>
- </body>
- </html>
Expand|Select|Wrap|Line Numbers
- CREATE TABLE `projects` (
- `p_id` int(11) NOT NULL auto_increment,
- `p_name` varchar(50) NOT NULL,
- `p_desc` varchar(10000) NOT NULL,
- `p_status` int(1) default '1',
- `p_start` datetime NOT NULL,
- `p_end` datetime NOT NULL,
- PRIMARY KEY (`p_id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1001 ;
Expand|Select|Wrap|Line Numbers
- HTTP Status 500 -
- --------------------------------------------------------------------------------
- type Exception report
- message
- description The server encountered an internal error () that prevented it from fulfilling this request.
- exception
- javax.servlet.ServletException: java.sql.SQLException: Field 'p_desc' doesn't have a default value
- root cause
- java.sql.SQLException: Field 'p_desc' doesn't have a default value
- 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.
- --------------------------------------------------------------------------------
- Sun Java System Application Server Platform Edition 9.0_01
Please help me to find out this error.