You are missing the "VALUES" clause before the open parenthesis.

-Richard

At 07:32 PM 1/23/2005, you wrote:
I'm getting the following error in an insert, the update works fine.

Is there a way to get a more informative error message about the error?

Does anyone see a syntax error that I missed?

I'm using MySQL 4.1.8 and Connector/J 3.0.16.

19:13:20,906 INFO  [STDOUT] -----SQLException-----
19:13:20,906 INFO  [STDOUT] SQLState: 42000
19:13:20,921 INFO  [STDOUT] Message: Syntax error or access violation
message from server: "You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near '' at line 1"
19:13:20,921 INFO  [STDOUT] Vendor: 1064
19:13:20,937 INFO  [STDOUT] descriptiveCopy:


sql.setSqlValue("INSERT INTO Restaurant " + "(Name, Cuisine, ChefsName, Address_1, Address_2," + "Neighborhood, City, State, ZIP, Country," + "OfficePhone, ReservationPhone, FaxPhone, Email, Web," + "HandicappAccess, CreditCards, CostBreakfast, CostLunch, CostDinner," + "DressCode, Reservations, NonSmoking, OffStreetParking, OutsideDining," + "Banquet, BanquetCapacity, Catering, ServiceTypes, DeliveryService," + "LowCarbMenu, ChildMenu, ServesBooze, Entertainment, PhotoURL," + "ImageCredit, LogoURL, DescriptiveCopy, AtAGlance, NearBy," + "RestaurantOrder, Subscriber, SubscriptionExpired, UserID) " +

"VALUES(?, ?, ?, ?, ?," +
       "?, ?, ?, ?, ?," +
       "?, ?, ?, ?, ?," +
       "?, ?, ?, ?, ?," +
       "?, ?, ?, ?, ?," +
       "?, ?, ?, ?, ?," +
       "?, ?, ?, ?, ?," +
       "?, ?, ?, ?, ?," +
       "?, ?, ?, ?");


} else {

// Update an existing restaurant
sql.setSqlValue("UPDATE Restaurant SET " +
"Name = ?, Cuisine = ?," +
"ChefsName = ?, Address_1 = ?, Address_2 = ?, Neighborhood = ?, City = ?," +
"State = ?, ZIP = ?, Country = ?, OfficePhone = ?, ReservationPhone = ?," +
"FaxPhone = ?, Email = ?, Web = ?, HandicappAccess = ?, CreditCards = ?," +
"CostBreakfast = ?, CostLunch = ?, CostDinner = ?, DressCode = ?,
Reservations = ?," +
"NonSmoking = ?, OffStreetParking = ?, OutsideDining = ?, Banquet = ?,
BanquetCapacity = ?," +
"Catering = ?, ServiceTypes = ?, DeliveryService = ?, LowCarbMenu = ?,
ChildMenu = ?," +
"ServesBooze = ?, Entertainment = ?, PhotoURL = ?, ImageCredit = ?,
LogoURL = ?,"  +
"DescriptiveCopy = ?, AtAGlance = ?, NearBy = ?"  +
"WHERE RestaurantID = ?");

}
List values = new ArrayList();
                               values.add(request.getParameter("name"));
values.add(request.getParameter("cuisine"));
values.add(request.getParameter("chef"));
values.add(request.getParameter("address1"));
values.add(request.getParameter("address2"));
values.add(request.getParameter("neighborhood"));
values.add(request.getParameter("city"));
values.add(request.getParameter("state"));
values.add(request.getParameter("zip"));
values.add(request.getParameter("country"));
values.add(request.getParameter("officePhone"));
values.add(request.getParameter("reservationPhone"));
values.add(request.getParameter("fax"));
values.add(request.getParameter("email"));
values.add(request.getParameter("web"));

int access = 0;
String param = request.getParameter("access");
if(param != null && param.equals("on")){
access = 1;
}
values.add("" + access);

/**
 * visa = 1, mc = 2, amex = 4, discover = 8, diners = 16
 *      other usable id's are: 32, 64 and 128
 *
 * This may have to be changed to accomodate Java 5.0 enum
 */
int cc = 0;
param = request.getParameter("visa");
if(param != null && param.equals("on")){
cc |= 1;
}

param = request.getParameter("mastercard");
if(param != null && param.equals("on")){
cc |= 2;
}
param = request.getParameter("americanExpress");
if(param != null && param.equals("on")){
cc |= 4;
}
param = request.getParameter("discover");
if(param != null && param.equals("on")){
cc |= 8;
}

param = request.getParameter("diners");
if(param != null && param.equals("on")){
cc |= 16;
}
values.add("" + cc);

values.add(request.getParameter("costBreakfast"));
values.add(request.getParameter("costLunch"));
values.add(request.getParameter("costDinner"));
values.add(request.getParameter("dressCode"));
values.add(request.getParameter("reservations"));

int nonSmoking = 0;
param = request.getParameter("nonSmoking");
if(param != null && param.equals("on")){
nonSmoking = 1;
}
values.add("" + nonSmoking);

int offStreetParking = 0;
param = request.getParameter("offStreetParking");
if(param != null && param.equals("on")){
offStreetParking = 1;
}
values.add("" + offStreetParking);

int outsideDining = 0;
param = request.getParameter("outsideDining");
if(param != null && param.equals("on")){
outsideDining = 1;
}
values.add("" + outsideDining);

int banquet = 0;
param = request.getParameter("banquet");
if(param != null && param.equals("on")){
banquet = 1;
}
values.add("" + banquet);

values.add(request.getParameter("banquetCapacity"));

int catering = 0;
param = request.getParameter("catering");
if(param != null && param.equals("on")){
catering = 1;
}
values.add("" + catering);

values.add(request.getParameter("serviceTypes"));

int deliveryService = 0;
param = request.getParameter("deliveryService");
if(param != null && param.equals("on")){
deliveryService = 1;
}
values.add("" + deliveryService);

int lowCarbMenu = 0;
param = request.getParameter("lowCarbMenu");
if(param != null && param.equals("on")){
lowCarbMenu = 1;
}
values.add("" + lowCarbMenu);

int childMenu = 0;
param = request.getParameter("childMenu");
if(param != null && param.equals("on")){
childMenu = 1;
}
values.add("" + childMenu);

int servesBooze = 0;
param = request.getParameter("servesBooze");
if(param != null && param.equals("on")){
servesBooze = 1;
}
values.add("" + servesBooze);
                       values.add(request.getParameter("entertainment"));
values.add(request.getParameter("image"));
values.add(request.getParameter("imageCredit"));
values.add(request.getParameter("logo"));
values.add(request.getParameter("descriptiveCopy"));
values.add(request.getParameter("atAGlance"));
values.add(request.getParameter("nearBy"));

                               if(pathInfo.equals("/restaurantUpdate")){

values.add(request.getParameter("restaurant"));
}

// Add these params if this is a new restaurant
else{
values.add(newOrder);
values.add(request.getParameter("userName"));

int subscriber = 0;
param = request.getParameter("subscriber");
if(param != null && param.equals("on")){
subscriber = 1;
}
values.add("" + subscriber);

int subscriptionExpired = 0;
param = request.getParameter("subscriptionExpired");
if(param != null && param.equals("on")){
subscriptionExpired = 1;
}
values.add("" + subscriptionExpired);
}

values = new ArrayList();       <-- I tried sql.setValues(values) here
result = sql.executeUpdate();       but it also didn't work...

// Get the id of the new from MySQL LAST_INSERT_ID
// then redirect to: changeWebsites.jsp
if(result != 0 && pathInfo.equals("/restaurantNew")){
sql.setSqlValue("SELECT LAST_INSERT_ID()");
sql.setValues(values);
Result res = sql.executeQuery();
if (res != null && res.getRowCount() > 0){
Long id = (Long)res.getRows()[0].get("LAST_INSERT_ID");
pathInfo = request.getContextPath();

response.sendRedirect(response.encodeRedirectURL(pathInfo +
"/secure/" + request.getParameter("redirect") + "?restaurant=" + id));
return;
}
}
}

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to