cstm=conn.prepareCall("{call ekleSP}");
cstm.setInt(1, Integer.parseInt(tb_1.getText()));
cstm.setString(2, tb_2.getText());
cstm.setString(3, tb_3.getText());
cstm.setString(4, tb_4.getText());
cstm.setString(5, tb_5.getText());
cstm.execute();
Ekle는이 저장 프로 시저를 사용하여 ID, 이름, 성, PHONENUMBER, 성별, 메신저처럼 간다 추가 의미
:나는 SQL 예외를 얻고있다 : 매개 변수 인덱스 오류 (0 1> 매개 변수의 수) 범위를 벗어
CREATE DEFINER=`root`@`localhost` PROCEDURE `ekleSP`(IN id INT(11),IN
uye_adi VarChar(45),
IN uye_soyadi VarChar(45), IN uye_tel VarChar(11),IN cinsiyet VarChar(5))
BEGIN
INSERT into tbluyeler(id,uye_adi,uye_soyadi,uye_tel,cinsiyet) values
('?','?','?','?','?');
END
Java에서 저장 프로 시저를 처리하는 방법에 익숙하지 않습니다. 하지만''{ekleSP (?,?,?,?,?)} ''와 같은 것을 시도해 보셨습니까? * ('?'는 일반적으로 매개 변수를 지정해야합니다.) * 또한, 우연히도 저장 프로시 저는'tbluyeler'에 여러 개의 물음표를 삽입하는 것입니다. 매개 변수를 완전히 무시합니다. – Uueerdo
@Uueerdo에 동의합니다. 매개 변수 값을 설정하기 전에 매개 변수가있는 프로 시저를 호출해야합니다. 또한 프로 시저 내부에서 INSERT를 잘못 수행하고 있습니다. PREPARE와 EXECUTE를 사용하지 않는다면'?'를 사용하지 마십시오. 'PREPARE'와'EXECUTE'를 사용하는 경우에도'? '를 따옴표 안에 넣지 마십시오. –