Tratando de hacer un insert con un procedimiento almacenado me sale el sgte error:
Valor de Caracter no valido para especificación cast.
Se agradece cualquier apoyo adjunto el codigo:
CREATE TABLE TEMPO_COMPRA(
CODART INT,
DETART VARCHAR(50),
CODUME INT,
NOMUME VARCHAR(30),
CANART INT,
PREART DECIMAL(18,2)
)
--------------INSERTA TEMPO_COMPRA
CREATE PROCEDURE PA_INSERTA_TEMPO_COMPRA
@CODART INT,
@DETART VARCHAR(30),
@CODUME INT,
@NOMUME VARCHAR(30),
@CANART VARCHAR(30),
@PREART DECIMAL(18,2)
AS
INSERT INTO TEMPO_COMPRA VALUES (@CODART,@DETART,@CODUME,@NOMUME,@CANART,@PREART)
----------------------------------JAVA-----------------------------
* Se tiene un jtatable que carga los datos usando procedure tb.
*El detalle esta en rescatar los datos del jtable parsearlos correctamente e insertarlos.
try{
filasel = tblArticulos.getSelectedRow();
if(filasel== -1){
JOptionPane.showMessageDialog(null,"No se ha seleccionado niguna fila");
}else{
modelo=(DefaultTableModel) tblArticulos.getModel();
codart=(String) modelo.getValueAt(filasel, 0);
nomart=(String) modelo.getValueAt(filasel, 1);
//nomcat=(String) modelo.getValueAt(filasel, 2);
nomume=(String) modelo.getValueAt(filasel, 2);
codume=(String) modelo.getValueAt(filasel, 3);
canart=txtCantidad.getText();
preart=txtPrecio.getText();
total= Double.parseDouble(preart)*Double.parseDouble(cana rt);
Connection cn = new ConectaDB().getConnection();
String mensaje="";
String ssql="";
if(accion.equals("Insertar")){
Statement st = cn.createStatement();
st.execute("{call PA_INSERTA_TEMPO_COMPRA("+codart+","+nomart+","+co dume+","+nomume+","+canart+","+preart+")}");
cn.close();
//ssql = "INSERT INTO TEMPO_COMPRA(CODART,DETART,CODUME,NOMUME,CANART,PR EART)VALUES (?,?,?,?,?,?)";
mensaje="Los datos fuerón registrados";
}
}
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}