用户输入未显示在数据库表中



我正在努力自学java(对不起,我的英语不好(。在给出一些输入后,我试图在表上显示(使用select*from emp;的值(,但行没有创建我应该做什么来获得(数据库(的用户输入

public static void main(String[] args) throws SQLException, ClassNotFoundException {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","manager");

PreparedStatement preparedStatement= connection.prepareStatement("insert into emp values(?,?,?)" );

Scanner scanner = new Scanner(System.in);

while (true) {

System.out.println("enter eid");
int eid = scanner.nextInt();
System.out.println("enter ename");
String ename = scanner.next();
System.out.println("enter esal");
double esal = scanner.nextDouble();

preparedStatement.setInt(1, eid);
preparedStatement.setString(2, ename);
preparedStatement.setDouble(3, esal);
System.out.println("data insert successfull....do you want add one more recored(yes/no)");
String option = scanner.next();


if(option.equals("no")) 
break;

}

scanner.close();
preparedStatement.close();
connection.close();
System.out.println("resource are closed");

}

}

有3种不同的JDBC执行函数:

  • PreparedStatement.execute用于执行任何语句;包括诸如CREATE TABLE等DDL语句
  • PreparedStatement.executeQuery用于执行SELECT语句
  • PreparedStatement.executeUpdate用于执行DML语句,例如INSERTUPDATEDELETEMERGE

您想要的是PreparedStatement.executeUpdate,而不是PreparedStatement.executeQuery

您还需要检查您的对账单/交易是否正在提交数据;如果不是,则需要显式COMMIT数据。

对于插入和删除,应该是executeUpdate((。

ResultSet ResultSet=preparedStarement.executeUpdate((;

问题出在ResultSet resultSet=preparedStatement.executeQuery();executeQuery((上。如果要插入,则仅用于选择,因此必须使用preparedStatement.execute();preparedStatement.executeUpdate();

相关内容

  • 没有找到相关文章

最新更新