Java,MySQL使用ID更新表(主键)

时间:2012-11-03 03:30:41

标签: java mysql sql swing

我有一个使用MySql和Java JDBC的程序。

我的问题是:

我有一个表(TEMP),ID只有1列,另一个表有用户个人详细信息,如ID,姓名,年龄等。

我正在尝试从ID表中检索TEMP并更新USER表中的未填写信息,如姓名,年龄,地址等。

这是我写的查询:

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

当我的getIdMethodResultSet表格中检索到TEMP的ID时。我无法更新USER TABLE。

但如果我直接提供ID,它就有效..例如。

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

请告诉我是否必须在我的getIdMethod中写下要写入的步骤,以便将该值输入ResultSet

2 个答案:

答案 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+"'";*/
}

答案 1 :(得分:0)

我相信你要做的就是从ResultSet获得结果,你可以使用rs.getLong(0)ResultSet variablegetYourIdType 0 columnName。 1}})或{{1}}