Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

java.sql.SQLException: ORA-01008: not all variables bound

1,576 views
Skip to first unread message

사천사

unread,
Sep 23, 2000, 12:45:44 AM9/23/00
to
java.sql.SQLException: ORA-01008: not all variables bound

DB 에서 자료를 읽어서 수정을 한 후 ....
executeUpdate 를 실행하면 위와 같은 에러가 나는데여 ..

어쩔때 저런 에러가 나는지 ... 이런 에러를 접해보신분 도움을 바랍니다.

아래에 소스를 동봉합니다.


//제조사 기본내역 수정
init();
int msg = 0; //0, 1 으로 성공여부판단
ResultSet rs = null;

try
{
conn.setAutoCommit(false);
String sql = "update company set code =?, cname =?, fname =?,
saupja_no =?, corp_no =?, category_busi =?, busi_conditions =?, setup_day
=?, openbusi_day =?, workpl_zip =?, work_addr =?, work_tel =?, work_fax =?,
facto_zip =?, facto_addr =?, facto_tel =?, facto_fax =?, presi_name =?,
presi_juminno =?, presi_tel =?, presi_ptel =?, presi_birth =?, presi_zip =?,
presi_addr =?, presi_email =?, presi_weddingan =?, rpresi_name =?,
rpresi_juminno =?, rpresi_tel =?, rpresi_ptel =?, rpresi_zip =?, rpresi_addr
=?, rpresi_email =?, fcontra_day =?, contrrevo_day =?, prod_items =?,
busi_items =?, bank_name =?, depositor =?, account_no =?, mtc_name =?,
mtc_email =?, htc_name =?, busi_parts =?, emp_count =?, yearsaleamt =?,
yearprodamt =?, homepage_url =?, description =?, delete_yn =? where code =?
and saupja_no =?";

pstmt = conn.prepareStatement(sql);

pstmt.setString(1, sComp.compCode); //업체코드
pstmt.setString(2, sComp.compCname); //업체명
pstmt.setString(3, sComp.compFname); //상호
pstmt.setString(4, sComp.compSaupjano);
//사업자등록번호
pstmt.setString(5, sComp.compCorpno); //법인등록번호
pstmt.setString(6, sComp.compCategory); //업종
pstmt.setString(7, sComp.compBusi); //업태
pstmt.setString(8, sComp.compSetup); //설립일자
pstmt.setString(9, sComp.compOpen); //개업기념일
pstmt.setString(10, sComp.compWorkZip); //주사업장
우편번호
pstmt.setString(11, sComp.compWordAddr1); //주사업장
주소 1
pstmt.setString(12, sComp.compWorkTel); //주사업장
전화번호
pstmt.setString(13, sComp.compWorkFax); //주사업장
팩스번호
pstmt.setString(14, sComp.compFactoZip); //주공장
우편번호
pstmt.setString(15, sComp.compFactoAddr1); //주공장 주소
1
pstmt.setString(16, sComp.compFactoTel); //주공장 전화
pstmt.setString(17, sComp.compFactoFax); //주공장 팩스
pstmt.setString(18, sComp.compPresiName); //대표자명
pstmt.setString(19, sComp.compPresiJuminNo); //대표자
주민번호
pstmt.setString(20, sComp.compPresiTel); //대표자
전화번호
pstmt.setString(21, sComp.compPresiPtel); //대표자
휴대전화
pstmt.setString(22, sComp.compPresiBirth); //대표자 생일
pstmt.setString(23, sComp.compPresiZip); //대표자
우편번호
pstmt.setString(24, sComp.compPresiAddr1); //대표자 주소
1
pstmt.setString(25, sComp.compPresiEmail); //대표자
이메일
pstmt.setString(26, sComp.compPresiWedding); //대표자
결혼기념일
pstmt.setString(27, sComp.compRpresiName); //실경영자명
pstmt.setString(28, sComp.compRpresiJuminNo); //실경영자
주민번호
pstmt.setString(29, sComp.compRpresiTel); //실경영자
전화번호
pstmt.setString(30, sComp.compRpresiPtel); //실경영자
휴대전화
pstmt.setString(31, sComp.compRpresiZip); //실경영자
우편번호
pstmt.setString(32, sComp.compRpresiAddr1); //실경영자
주소 1
pstmt.setString(33, sComp.compRpresiEmail); //실경영자
이메일
pstmt.setString(34, sComp.compFcontraDay); //최초계약일
pstmt.setString(35, sComp.compContrrevoDay); //해지일
pstmt.setString(36, sComp.compProdItems); //주요생산품목
pstmt.setString(37, sComp.compBusiItems); //거래품목
pstmt.setString(38, sComp.compBankItems); //은행명
pstmt.setString(39, sComp.compDepositor); //예금주
pstmt.setString(40, sComp.compAccount_no); //계좌번호
pstmt.setString(41, sComp.compMtcName); //제조사담당자
pstmt.setString(42, sComp.compMtcEmail); //제조사담당자
이메일
pstmt.setString(43, sComp.compHtcName); //본사담당자
pstmt.setString(44, sComp.compBusiParts); //주요거래처
pstmt.setInt(45, sComp.compEmpCount); //직원수
pstmt.setInt(46, sComp.compYearSale); //연간매출규모
pstmt.setInt(47, sComp.compYearProd); //연간생산능력
pstmt.setString(48, sComp.compUrl); //제조사
HomePage
pstmt.setString(49, sComp.compDesc); //제조사 소개
pstmt.setString(50, sComp.compDelYn); //활성화 여부

System.out.println("여기까지 왔습니다.");

pstmt.executeUpdate();
System.out.println("여기는?");
System.out.println(sql);
conn.commit();
pstmt.close();
msg = 1;
eMsg.value = "성공";
}
catch(SQLException e)
{
msg = -1;
System.err.println(e);

try
{
conn.rollback();
conn.setAutoCommit(true);
}
catch(SQLException er)
{
System.out.println("Error : " +er);
}
}
finally
{
try
{
pstmt.close();
}
catch(Exception err)
{
System.out.println("Error : " +err);
}
}
if(msg == -1)
{
eMsg.value = "DB : update Error";
}
eMsg.value = "";
return msg;

--
=======================================================================
사천사의 집 : HTTP://www.izoka.com www.izoka.net www.izoka.org
사천사의 멜 : iz...@IZOKA.com
=======================================================================


도토리

unread,
Sep 23, 2000, 3:00:00 AM9/23/00
to
> java.sql.SQLException: ORA-01008: not all variables bound
not all variables bound 라는 군요...
세어보니 '?'가 52개군요. 님께선 50개만 set 하셨구요...
따라서 변수를 전부다 bound 하지 않았다는 뜻의 Oracle 에러가 나는것은
당연합니다.
나머지 두개도 채워 넣으심이.. ^^


"사천사" <iZ...@QuR.cOm> wrote in message news:8qhcbn$lp2$1...@news.nuri.net...


> java.sql.SQLException: ORA-01008: not all variables bound
>
> DB 에서 자료를 읽어서 수정을 한 후 ....
> executeUpdate 를 실행하면 위와 같은 에러가 나는데여 ..
>
> 어쩔때 저런 에러가 나는지 ... 이런 에러를 접해보신분 도움을 바랍니다.
>
> 아래에 소스를 동봉합니다.
>
>

> file://제조사 기본내역 수정
> init();
> int msg = 0; file://0, 1 으로 성공여부판단


> ResultSet rs = null;
>
> try
> {
> conn.setAutoCommit(false);
> String sql = "update company set code =?, cname =?, fname =?,
> saupja_no =?, corp_no =?, category_busi =?, busi_conditions =?, setup_day
> =?, openbusi_day =?, workpl_zip =?, work_addr =?, work_tel =?, work_fax
=?,
> facto_zip =?, facto_addr =?, facto_tel =?, facto_fax =?, presi_name =?,
> presi_juminno =?, presi_tel =?, presi_ptel =?, presi_birth =?, presi_zip
=?,
> presi_addr =?, presi_email =?, presi_weddingan =?, rpresi_name =?,
> rpresi_juminno =?, rpresi_tel =?, rpresi_ptel =?, rpresi_zip =?,
rpresi_addr
> =?, rpresi_email =?, fcontra_day =?, contrrevo_day =?, prod_items =?,
> busi_items =?, bank_name =?, depositor =?, account_no =?, mtc_name =?,
> mtc_email =?, htc_name =?, busi_parts =?, emp_count =?, yearsaleamt =?,
> yearprodamt =?, homepage_url =?, description =?, delete_yn =? where code
=?
> and saupja_no =?";
>
> pstmt = conn.prepareStatement(sql);
>
> pstmt.setString(1, sComp.compCode);

file://업체코드
> pstmt.setString(2, sComp.compCname);
file://업체명
> pstmt.setString(3, sComp.compFname); file://상호
> pstmt.setString(4, sComp.compSaupjano);
> file://사업자등록번호
> pstmt.setString(5, sComp.compCorpno);
file://법인등록번호
> pstmt.setString(6, sComp.compCategory); file://업종
> pstmt.setString(7, sComp.compBusi); file://업태
> pstmt.setString(8, sComp.compSetup);
file://설립일자
> pstmt.setString(9, sComp.compOpen);
file://개업기념일
> pstmt.setString(10, sComp.compWorkZip);
file://주사업장
> 우편번호
> pstmt.setString(11, sComp.compWordAddr1);
file://주사업장
> 주소 1
> pstmt.setString(12, sComp.compWorkTel);
file://주사업장
> 전화번호
> pstmt.setString(13, sComp.compWorkFax);
file://주사업장
> 팩스번호
> pstmt.setString(14, sComp.compFactoZip);
file://주공장
> 우편번호
> pstmt.setString(15, sComp.compFactoAddr1);
file://주공장 주소
> 1
> pstmt.setString(16, sComp.compFactoTel);
file://주공장 전화
> pstmt.setString(17, sComp.compFactoFax);
file://주공장 팩스
> pstmt.setString(18, sComp.compPresiName);
file://대표자명
> pstmt.setString(19, sComp.compPresiJuminNo);
file://대표자
> 주민번호
> pstmt.setString(20, sComp.compPresiTel);
file://대표자
> 전화번호
> pstmt.setString(21, sComp.compPresiPtel);
file://대표자
> 휴대전화
> pstmt.setString(22, sComp.compPresiBirth);
file://대표자 생일
> pstmt.setString(23, sComp.compPresiZip);
file://대표자
> 우편번호
> pstmt.setString(24, sComp.compPresiAddr1);
file://대표자 주소
> 1
> pstmt.setString(25, sComp.compPresiEmail);
file://대표자
> 이메일
> pstmt.setString(26, sComp.compPresiWedding);
file://대표자
> 결혼기념일
> pstmt.setString(27, sComp.compRpresiName);
file://실경영자명
> pstmt.setString(28, sComp.compRpresiJuminNo);
file://실경영자
> 주민번호
> pstmt.setString(29, sComp.compRpresiTel);
file://실경영자
> 전화번호
> pstmt.setString(30, sComp.compRpresiPtel);
file://실경영자
> 휴대전화
> pstmt.setString(31, sComp.compRpresiZip);
file://실경영자
> 우편번호
> pstmt.setString(32, sComp.compRpresiAddr1);
file://실경영자
> 주소 1
> pstmt.setString(33, sComp.compRpresiEmail);
file://실경영자
> 이메일
> pstmt.setString(34, sComp.compFcontraDay);
file://최초계약일
> pstmt.setString(35, sComp.compContrrevoDay);
file://해지일
> pstmt.setString(36, sComp.compProdItems);
file://주요생산품목
> pstmt.setString(37, sComp.compBusiItems);
file://거래품목
> pstmt.setString(38, sComp.compBankItems);
file://은행명
> pstmt.setString(39, sComp.compDepositor);
file://예금주
> pstmt.setString(40, sComp.compAccount_no);
file://계좌번호
> pstmt.setString(41, sComp.compMtcName);
file://제조사담당자
> pstmt.setString(42, sComp.compMtcEmail);
file://제조사담당자
> 이메일
> pstmt.setString(43, sComp.compHtcName);
file://본사담당자
> pstmt.setString(44, sComp.compBusiParts);
file://주요거래처
> pstmt.setInt(45, sComp.compEmpCount);
file://직원수
> pstmt.setInt(46, sComp.compYearSale);
file://연간매출규모
> pstmt.setInt(47, sComp.compYearProd);
file://연간생산능력
> pstmt.setString(48, sComp.compUrl);
file://제조사
> HomePage
> pstmt.setString(49, sComp.compDesc);
file://제조사 소개
> pstmt.setString(50, sComp.compDelYn);
file://활성화 여부

0 new messages