先决条件:
如何在Java中使用JDBC创建表?
如何在Java中通过JDBC插入记录?
如何在Java中使用JDBC显示所有记录?
如何在Java中使用JDBC通过字段显示特定记录?
如何在Java中使用JDBC删除特定记录?
注意:要编辑MYSQL表中的记录,您应该至少知道该记录的一个字段。
首先,我们通过使用Connection类创建一个名为cn的对象,在MYSQL和JAVA之间建立连接。
然后,我们输入要编辑记录的字段。
然后,我们将准备一个MySQL查询语句以显示带有where子句的表中的记录,以执行此查询语句,我们创建了一个名为Statement类的smt对象,该对象将用于通过executeQuery()
方法执行查询。现在,我们显示记录并提出一个问题“您想编辑哪个字段?” 。
在获取字段名称之后,我们将准备一个名为的更新查询和调用方法executeUpdate()
。
数据库详细信息:
主机名:本地主机
端口号:3306
用户名:root
密码:123
数据库名称:demo
表名:员工
现场:EMPID(职员)
Java程序使用JDBC编辑记录
import java.io.DataInputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class EditRecord { public static void main(String[] args) { try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); // serverhost = localhost,端口= 3306,用户名= root,密码= 123- Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/demo","root","123"); Statement smt=cn.createStatement(); DataInputStream KB=new DataInputStream(System.in); //输入要用来编辑记录的员工ID- System.out.print("Enter Employee ID:"); String eid=KB.readLine(); //查询从表employee中获取特定记录的数据 String q="Select * from employees where empid='"+eid+"'"; //执行查询 ResultSet rs=smt.executeQuery(q); if(rs.next()) { //显示数据 System.out.println("Employee id:"+rs.getString(1)); System.out.println("1.Employee Name:"+rs.getString(2)); System.out.println("2.Employee DOB:"+rs.getString(3)); System.out.println("3.Employee City:"+rs.getString(4)); System.out.println("4.Employee Salary:"+rs.getString(5)); System.out.println("5.Exit"); System.out.println("Which Field U Want to Edit?"); String ch=KB.readLine(); String pat=""; //选择要编辑的字段的情况 switch(ch) { case "1": System.out.print("Enter New Name:"); String nn=KB.readLine(); pat="empname='"+nn+"'"; break; case "2": System.out.print("Enter New DOB:"); String nd=KB.readLine(); pat="dob='"+nd+"'"; break; case "3": System.out.print("Enter New City:"); String nc=KB.readLine(); pat="city='"+nc+"'"; break; case "4": System.out.print("Enter New Salary:"); String ns=KB.readLine(); pat="salary="+ns; break; case "5": System.out.println("Exit"); break; default: System.out.println("Wrong Option"); break; } if(!pat.equals("")) { //查询以编辑表employee中特定记录的数据 q="update employees set "+pat+" where empid='"+eid+"'"; //执行更新 smt.executeUpdate(q); System.out.println("Record Updated...."); } } else { System.out.println("Record Not Found..."); } cn.close(); } catch(Exception e){ System.out.println(e); } } }
输出(在控制台中)
Enter Employee ID: 100 Employee id: 100Employee Name: AmanEmployee DOB: 10/10/1990Employee City: DelhiEmployee Salary: 35000ExitWhich Field U Want to Edit? 1 Enter New Name: Arun Record Updated....