Foros del Web » Programación para mayores de 30 ;) » Java »

Insertar con procedure en netbeans

Estas en el tema de Insertar con procedure en netbeans en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 27/03/2013, 10:26
Avatar de frankjoel86  
Fecha de Ingreso: noviembre-2008
Ubicación: Ica
Mensajes: 295
Antigüedad: 15 años, 5 meses
Puntos: 0
Insertar con procedure en netbeans

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);
}
__________________
www.basritours.com
Agencia de turismo en Ica.
  #2 (permalink)  
Antiguo 27/03/2013, 11:00
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Insertar con procedure en netbeans

Ayudaría si en todo ese código dijeras dónde te sale exactamente ese mensaje de error.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 27/03/2013, 12:00
Avatar de frankjoel86  
Fecha de Ingreso: noviembre-2008
Ubicación: Ica
Mensajes: 295
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar con procedure en netbeans

gracias x el interes chuidiang, solo era ponerlo en orden al momento de insertar y con los mismos tipos de datos. osea pacienciaaaaaaaaaaaaaaaa.. y buen humor :)


if(accion.equals("Insertar")){
JOptionPane.showMessageDialog(null,codart);
JOptionPane.showMessageDialog(null,nomart);
JOptionPane.showMessageDialog(null,codume);
JOptionPane.showMessageDialog(null,nomume);
JOptionPane.showMessageDialog(null,canart);
JOptionPane.showMessageDialog(null,preart);

Statement st = cn.createStatement();
st.execute("{call PA_INSERTA_TEMPO_COMPRA(" + codart + ",'" + nomart + "'," + codume + ",'" + nomume + "'," + canart + "," + preart + ")}");
cn.close();

gracias, cualquier cosa nuevmanete les consulto.
__________________
www.basritours.com
Agencia de turismo en Ica.

Etiquetas: netbeans, procedure, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:19.