Código ArticuloInsertarStock.jsp:
todos los System.out.println() los pongo para ver hasta donde llega, porque no me da ningun error.Ver original
<%@page import="java.sql.ResultSet"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.Connection"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <% /*ejemplo url de consulta: http://localhost:82/AppCooperativaDWP/ArticuloInsertarStock.jsp?jdbc=jdbc:sybase:Tds:xxx.xxx.xxx.xxx:5015/super9_bak&user=dba&pass=sql &codigo=14466&descri=CALDO KNORR REC. VERDURA X6U&fecha=2014/08/13&compra=5&depo=0&hora=01:41:37.00&operador=5 */ String jdbc, user, pass; jdbc = request.getParameter("jdbc"); user = request.getParameter("user"); pass = request.getParameter("pass"); String codigo, descri, fecha, hora; int compra, operador; Integer deposito; try{ codigo = request.getParameter("codigo"); //nombre del parametro. descri = request.getParameter("descri"); fecha = request.getParameter("fecha"); compra = Integer.parseInt(request.getParameter("compra")); deposito = Integer.parseInt(request.getParameter("depo")); hora = request.getParameter("hora"); operador = Integer.parseInt(request.getParameter("operador")); System.out.println("jdbc: "+jdbc); System.out.println("user: "+user); System.out.println("pass: "+pass); System.out.println("1 codigo: "+codigo); System.out.println("2 descri: "+descri); System.out.println("3 fecha: "+fecha); System.out.println("4 compra: "+compra); System.out.println("5 deposito: "+deposito); System.out.println("6 hora: "+hora); System.out.println("7 operador: "+operador); System.out.println("entro al try: "); Class.forName("com.sybase.jdbc3.jdbc.SybDriver").newInstance(); Connection cn = DriverManager.getConnection(jdbc, user, pass); System.out.println("corro consulta de buscar si ya esta cargado el codigo: "+codigo); PreparedStatement contar = cn.prepareStatement("select * from fac_mov_art2_capturador where codigo2 = ?"); contar.setString(1, codigo); ResultSet rs = contar.executeQuery(); int cant = 0; while (rs.next()){ cant++; out.println("elemento contado: "+cant); } System.out.println("cantidad encontrados: "+cant); /* 1 2 3 4 5 6 7 8 articulo: art_codigo; art_barras; art_descri; art_existencia; art_ult_comp; art_ult_venta; art_ult_pedido; padron_codigo. ej: INSERT: INSERT INTO fac_mov_art2_capturador (codigo2,descri2,fecha2,compra2,venta2,comprobante2,tipocomp2,ctacte2,deposito2,hora2,operador_codigo) VALUES (11296, 'CHOCOLATE MILKA OREO LECHE', '2014/08/22', 5, 0, 0, 'stock inicial', 'capturador', 0, '11:11:20.00', 5); ej: UPDTATE: UPDATE fac_mov_art2_capturador SET compra2 = (compra2 + 4) WHERE codigo2 = 11296 */ System.out.println("evaluo si actualizo o inserto:"); if (cant > 0){ //actualizo System.out.println("entro al actualizar"); PreparedStatement update = cn.prepareStatement("UPDATE fac_mov_art2_capturador SET compra2 = compra2 + ? WHERE codigo2 = ?;"); update.setInt(1, compra); update.setString(2, codigo); System.out.println("actualizo: codigo "+codigo+", cant: "+compra); rs = update.executeQuery(); update.close(); rs.close(); }else{//inserto System.out.println("entro al insertar"); PreparedStatement insert = cn. prepareStatement("INSERT INTO fac_mov_art2_capturador "+ "(codigo2,descri2, fecha2,compra2,venta2,comprobante2,tipocomp2,ctacte2,deposito2,hora2,operador_codigo) "+ // "VALUES (11296, 'CHOCOLATE MILKA OREO LECHE', '2014/08/22', 5, 0, 0, 'stock inicial', 'capturador', 0, '11:11:20.00', 5);"); } "VALUES (?, '?', '?', ?, 0, 0, 'stock inicial', 'capturador', ?, '?', ?);"); // "VALUES ("+codigo+", '"+descri+"', '"+fecha+"', "+compra+", 0, 0, 'stock inicial', 'capturador', "+deposito+", '"+hora+"', "+operador+");"); insert.setString(1, codigo);//1 - codigo System.out.println("asigne codigo 1: "+codigo); insert.setString(2, descri);//2 - descripcion System.out.println("asigne descri 2: "+descri); insert.setString(3, fecha);//3 - fecha System.out.println("asigne fecha 3: "+fecha); insert.setInt(4, compra);//4 - compra o stock System.out.println("asigne cantidad stock 4: "+compra); insert.setInt(5, deposito);//9 - deposito System.out.println("asigne deposito 5: "+deposito); System.out.println("pruebo asignar hora 6: "+hora); insert.setString(6, hora);//10 - hora System.out.println("asigne hora 6: "+hora); insert.setInt(7, operador);//11 - operador System.out.println("asigne operador 7: "+operador); System.out.println("inserto: codigo "+codigo+", cant: "+compra); rs = insert.executeQuery(); insert.close(); rs.close(); System.out.println("corrio insert, y salio"); } rs.close(); contar.close(); cn.close(); }catch (Exception e){ out.print(e.getMessage()); } %>
y la ejecicion de este archivo *.jsp llega hasta la etiqueta:
System.out.println("asigne cantidad stock 4: "+compra);
Código Consola:
Ver original
jdbc: jdbc:sybase:Tds:xxx.xxx.xxx.xxx:5015/super9_bak user: dba pass: sql 1 codigo: 14466 2 descri: CALDO KNORR REC. VERDURA X6U 3 fecha: 2014/08/13 4 compra: 5 5 deposito: 0 6 hora: 01:41:37.00 7 operador: 5 entro al try: corro consulta de buscar si ya esta cargado el codigo: 14466 corrio la consulta de recuento de articulos en stock cantidad encontrados: 0 evaluo si actualizo o inserto: entro al insertar asigne codigo 1: 14466 asigne descri 2: CALDO KNORR REC. VERDURA X6U asigne fecha 3: 2014/08/13 asigne cantidad stock 4: 5
ya no se porque no asigna, ni por que no avanza.
esta bien que intente insertar porque en la base no tengo este articulo.
Tienen idea porque puede ser?
Saludos.