이 기사에서는 Java 프로그래밍 호출의 저장 절차에서 새로운 레코드 ID 번호를 얻는 구현 방법에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
MSQL Server2000의 저장된 절차와 관련하여 주요 기능은 테이블 테스트에 레코드를 삽입 한 다음 새로 추가 된 레코드의 ID 번호를 얻는 것입니다.
테스트 테이블에는 세 가지 필드가 있습니다.
ID : 자동 성장
YHM : 사용자 이름 문자열 유형
KL : 비밀번호 문자열 유형
그래서이 저장 절차를 Java 프로그램에서 부르기 위해이 저장 절차를 부르는 방법을 달성하고 새로 추가 된 레코드의 ID 번호를 얻으십시오.
저장 절차는 다음과 같습니다.
프로 시저 생성 yh_insert@yhm varchar (50),@kl varchar (50) asbeginset nocount on insert in test (yhm, kl) 값 (@yhm,@kl) nocount elect newid = @@ everityendgo
해결책:
쿼리 분석기에서 SP를 실행하는 방법
@id intexec sp_yh_insert 'tetstst', '111111', @id outputelect @id를 선언하십시오
다음과 같이 SP를 수정하십시오 : 출력 매개 변수를 사용하여 결과 새 ID를 저장하십시오.
프로 시저 생성 SP_YH_INSERT@YHM VARCHAR (50),@KL VARCHAR (50),@INT OUTPUTASBEGINSET NOCOUNT on TEST (YHM, KL) 값 (@YHM,@K L) NOCOUNT SELECT NEWID =@QUILITYSELECT @id = @@ Identity -Key endgo
Java 프로그램은 다음과 같습니다.
public string _sp_insert_jh (String yhm, String kl)는 {string strstring = ""; strsql); CallableStatement proc = conn.preparecall ( "{call sp_yh_insert (?,?,?)}"); PARAMETER .SETSTRING (2, "1111111"); = getint (); // strstring.toString (id)의 반환 값을 얻습니다. } 마침내 {// 데이터베이스 연결을 닫으십시오 {conn.close ()} catch (예외 SQLE) {// 새 예외 생성 // 새 예외를 던지십시오 ( "[dbbean.executeQuery (SQL, SQL, tname)] ","10 "); system.out.println ("error ");}} return strflag;}
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.