2011-12-11 54 views
1

如何编辑MySQL中的某个数据条目?例如我有关于个人信息的表格,但我只想编辑名字表,我可以这样做吗?JDBC MySQL编辑/更新数据库中的当前条目

"Update Personal_Info 
set first_name='"+getFirstName()+"' ,last_name = ? 
where emp_id = 2011-01015" 

凡在本姓氏的问号将保留它的value.I在用这种方法,因为我不想硬编码的一切。你在我的用户界面中看到,我将使用一个表单,用户可以选择是否只更新名字和姓氏。我想出了这个想法,因为这对我来说会更容易。但欢迎提出建议。

回答

3

仅包含那些您想更新其值的列。假设,如果你想更新FIRST_NAME则声明将是:

String sql="Update Personal_Info set first_name=? where emp_id=?"; 
PreparedStatement ps=conn.prepareStatement(sql); 
ps.setString(1,getFirstName()); // set parameter value for first_name 
ps.setString(2,"2011-01015"); //  parameter value for emp_id  
ps.executeUpdate(); 
ps.close(); 
conn.close(); 

编辑:

String sql="Update Personal_Info set first_name=? where emp_id='2011-01015'"; 
PreparedStatement ps=conn.prepareStatement(sql); 
ps.setString(1,getFirstName()); // set parameter value for first_name 
ps.executeUpdate(); 
ps.close(); 
conn.close(); 
+0

上的ps.setString(2,“2011-01015”)有没有其他方法?除此之外??? – user962206

+0

@ user962206 - 你可以使用变量或类似getEmpid()的东西。 – adatapost

+0

以外呢?我可以setString(1,defaultvalueofthatfield);有没有像这样或保留它的当前值? – user962206

0

是的,你可以这样做。 但是,您应该考虑使用PreparedStatements来忽略应用中可能的SQL注入。

+0

在室内用问号,我的意思是我会一直保留姓氏 – user962206

+0

的当前值@ user962206 - 都能跟得上! – adatapost

+0

那我该怎么做?有什么办法吗? – user962206