2012-11-03 3 views
0

MySql 및 Java JDBC로 작업하는 프로그램이 있습니다.Java, MySQL ID (기본 키)를 사용하는 테이블 업데이트

내 질문은 : 나는 ID로 단 1 열이있는 테이블 (TEMP) 등 ID, 이름, 나이와 같은 사용자의 개인 정보와 다른 테이블이

있습니다 ..를 검색하려는

IDTEMP 테이블에서 가져 와서 이름, 나이, 주소 등의 채워지지 않은 정보를 USER 테이블에 업데이트하십시오.

이것은 내가 쓴 쿼리입니다 :

update m_auth_info 
set name = '"+name+"', 
    addr = '"+addr+"', 
    email = '"+email+"', 
    affiliation = '"+affil+"', 
    status = '"+1+"' 
where a_id = '"+ResultSet+"'"; 

및 내 getIdMethodTEMP 테이블에서 ResultSet에 ID를 검색 할 때. USER 테이블을 업데이트 할 수 없습니다.

하지만 ID를 직접 입력하면 작동합니다. 예입니다.

update m_auth_info 
set name = '"+name+"', 
    addr = '"+addr+"', 
    email = '"+email+"', 
    affiliation = '"+affil+"', 
    status = '"+1+"' 
where a_id = '"+8989+"'"; 

내가 병 ResultSet에 가치를 얻을 수 있도록, 내 getIdMethod에 작성하는 단계를 작성해야 할 경우 알려주세요.

+0

? 저장 프로 시저입니까? –

답변

1
int id=0; 
String sql = "Select ID from Temp"; 
ResultSet rs = statement.executeQuery(sql); 

while(rs.next(){ 
    id = rs.getInt(1); 
    /* pass your update query here and use like this it should work for you 
    update m_auth_info set name = '"+name+"', 
    addr = '"+addr+"', email = '"+email+"', 
    affiliation = '"+affil+"', status = '"+1+"' where a_id = '"+id+"'";*/ 
} 
+0

감사합니다. – user1677685

+0

당신은 환영합니다 :) – gks

0

나는 당신이하려고하는 것이 ResultSet에서 결과를 얻는 것이라고 믿습니다. 당신은 ResultSet variable 인 무엇인가 rs.getLong(0)으로 할 수 있습니다. getYourIdType (0)하거나`getIdMethod` 방법을 사용하고있다 columnName

+0

Im sry 방금 업데이트 쿼리를 여기에주었습니다. 내 getIdMethod는 다음 문을가집니다. public void getIdMehod (String sql) {ResultSet = stmt.executeQuery (sql); } 그리고 나는이 문장을 통과시켰다. String sql = "select * from TEMP"; 이 TEMP 테이블은 하나의 ID (8989) 만 갖습니다. – user1677685

관련 문제