You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
5.3 KiB
139 lines
5.3 KiB
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
|
|
<%@ include file="Connections/jimi.jsp" %>
|
|
<%
|
|
// *** Edit Operations: declare variables
|
|
|
|
// set the form action variable
|
|
String MM_editAction = request.getRequestURI();
|
|
if (request.getQueryString() != null && request.getQueryString().length() > 0) {
|
|
MM_editAction += "?" + request.getQueryString();
|
|
}
|
|
|
|
// 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("form1")) {
|
|
|
|
MM_editDriver = MM_jimi_DRIVER;
|
|
MM_editConnection = MM_jimi_STRING;
|
|
MM_editUserName = MM_jimi_USERNAME;
|
|
MM_editPassword = MM_jimi_PASSWORD;
|
|
MM_editTable = "address";
|
|
MM_editRedirectUrl = "";
|
|
String MM_fieldsStr = "id|value|nick|value|name|value|street|value|city|value|state|value|zipcode|value|zipext|value|phone|value|areacode|value";
|
|
String MM_columnsStr = "id|none,none,NULL|nick|',none,''|name|',none,''|street|',none,''|city|',none,''|state|none,none,NULL|zipcode|none,none,NULL|zipext|none,none,NULL|phone|',none,''|areacode|',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;
|
|
}
|
|
}
|
|
}
|
|
%>
|
|
<%
|
|
Driver DriveraddressData = (Driver)Class.forName(MM_jimi_DRIVER).newInstance();
|
|
Connection ConnaddressData = DriverManager.getConnection(MM_jimi_STRING,MM_jimi_USERNAME,MM_jimi_PASSWORD);
|
|
PreparedStatement StatementaddressData = ConnaddressData.prepareStatement("SELECT * FROM address");
|
|
ResultSet addressData = StatementaddressData.executeQuery();
|
|
boolean addressData_isEmpty = !addressData.next();
|
|
boolean addressData_hasData = !addressData_isEmpty;
|
|
Object addressData_data;
|
|
int addressData_numRows = 0;
|
|
%>
|
|
<html>
|
|
<head>
|
|
<title>Test Document 2</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
</body>
|
|
</html>
|
|
<%
|
|
addressData.close();
|
|
StatementaddressData.close();
|
|
ConnaddressData.close();
|
|
%>
|