Bom dia.
Tenho um aplicativo que inclui/atualiza produtos num banco, o processo é o seguinte:
Ele verifica se o produto já existe, se existir, atualiza a quantidade, caso contrário ele insere.
O problema é que ela fica muito lenta…
Segue abaixo, o código:
[quote]
private static void setBdCont(Statement stC, String endereco, String ean, Long contado, String lote, String venc){
if(i!=11 && i!=12 && i!=13){
String indice = endereco+ean+lote+venc;
try{
ResultSet setC = stC.executeQuery(“SELECT ID, InventarioEIndice, InventarioECont”+i+" FROM InventarioEImport WHERE InventarioCod = “+NewInventario.getNumInvent()+” AND InventarioEIndice = ‘"+indice+"’ “);
if(setC.next()==false){
stC.executeUpdate(“INSERT INTO InventarioEImport (”+
“InventarioEChavePrim, InventarioEIndice, InventarioCod, “+
“ClienteCod, InventarioEEndereco, InventarioEEAN, InventarioECont”+i+”,”+
" InventarioELote, InventarioEData”+i+") VALUES (’"+chavePrim+"’,’"+
indice+"’,’"+NewInventario.getNumInvent()+"’,’"+NewInventario.getNumCli()+"’,’"+
endereco+"’,’"+ean+"’,’"+contado+"’,’"+lote+"’,’"+venc+"’)");
}
else{
stC.executeUpdate(“UPDATE InventarioEImport SET InventarioECont”+i+" ="+((“InventarioECont”+i+"+")+contado)+", InventarioEData"+i+" = ‘"+venc+"’ WHERE ID = "+setC.getInt(“ID”));
}
}
catch(SQLException sql){ExceptionMsg.showSQLException(sql);}
catch(StringIndexOutOfBoundsException sioobe){ExceptionMsg.showStringIndexOutOfBoundsException(sioobe);}
catch(NullPointerException npe){ExceptionMsg.showNullPointerException(npe);}
}
else{
setBdDiverg();
}
}
[/quote][color=green][/color]