如何在Java中使用JDBC编辑记录?

先决条件:

  1. 如何在Java中使用JDBC创建表?

  2. 如何在Java中通过JDBC插入记录?

  3. 如何在Java中使用JDBC显示所有记录?

  4. 如何在Java中使用JDBC通过字段显示特定记录?

  5. 如何在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....