我的插入无法通过PreparedStatement实现。

huangapple 未分类评论54阅读模式
英文:

My insertion is not able to be actualized through PreparedStatement

问题

一旦我执行以下代码,我意识到插入操作无法完成。在执行prepstmt.executeUpdate()后,我可以看到row的值为1,但插入的记录未在数据库中列出。我还使用resultset来验证是否创建了相关记录,但在那一行我遇到了空指针异常。可能的原因是什么?有任何想法吗?

英文:

Once i execute the following code, realize that insertion can't be done. i can see row value is 1 after executing of prepstmt.executeUpdate() but insertion record is not listed in database. i also used resultset to verify if concerned record is created but on that line i'm facing with null pointer exception. what might be the reason ? any idea ?

 Class.forName("oracle.jdbc.OracleDriver");
	   Connection conn =  DriverManager.getConnection("jdbc:oracle:thin:@172.31.60.83:1521:TBCEBTRL", "TESTUSER","TESTUSER");
	   String sqlQuery = "INSERT INTO PROVISIONING_MGNT.MERNIS_CUSTOMER_INFO (TC_ID,MOTHER_TC_ID,FATHER_TC_ID, BIRTHPLACE_CODE,SPOUSE_TC_ID, NAME, SURNAME, SEX, FATHER_NAME, MOTHER_NAME, DATE_OF_BIRTH_YEAR, DATE_OF_BIRTH_MONTH, DATE_OF_BIRTH_DAY, PLACE_OF_BIRTH, STATUS, MARITAL_STATUS,RELIGION,DATE_OF_DEATH_YEAR,DATE_OF_DEATH_MONTH,DATE_OF_DEATH_DAY, PROVINCE_CODE, PROVINCE_NAME, COUNTY_CODE, COUNTY_NAME, VOLUME_CODE, VOLUME_NAME, FAMILY_SEQUENCE_NUMBER, PERSON_SEQUENCE_NUMBER,ERROR_CODE,ERROR_DESCRIPTION,CREATION_TIME,DOCUMENT_NO) "
	   		              + "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
	   PreparedStatement prepstmt = conn.prepareStatement(sqlQuery);
	   //Statement stmt = conn.createStatement();
	   Random r = new Random();
	   int number = 1000000000 + (int)(r.nextDouble() * 999999999);
	   ThreadLocalRandom random = ThreadLocalRandom.current();
	   long x = random.nextLong(10_000_000_000L, 100_000_000_000L);
	   System.out.println(random.nextLong(10_000_000_000L, 100_000_000_000L));
	   prepstmt.setLong(1, x);
	   prepstmt.setNull(2, java.sql.Types.NULL );
	   prepstmt.setNull(3, java.sql.Types.NULL );
	   prepstmt.setInt(4, 1542);
	   prepstmt.setNull(5, java.sql.Types.NULL );
	   prepstmt.setString(6, "TEST");
	   prepstmt.setString(7, "TEST");
	   prepstmt.setString(8, "Male");
	   prepstmt.setString(9, "Father");
	   prepstmt.setString(10, "Mother");
	   prepstmt.setInt(11,1968);
	   prepstmt.setInt(12,10);
	   prepstmt.setInt(13,10);
	   prepstmt.setString(14,"ADANA");
	   prepstmt.setString(15,"Open");
	   prepstmt.setString(16,"Single");
	   prepstmt.setNull(17, java.sql.Types.NULL );
	   prepstmt.setNull(18, java.sql.Types.NULL );
	   prepstmt.setNull(19, java.sql.Types.NULL );
	   prepstmt.setNull(20, java.sql.Types.NULL );
	   prepstmt.setInt(21,1);
	   prepstmt.setString(22,"ADANA");
	   prepstmt.setInt(23,1101);
	   prepstmt.setString(24,"TEST");
	   prepstmt.setInt(25,1);
	   prepstmt.setString(26,"MERKEZ");
	   prepstmt.setInt(27,39);
	   prepstmt.setInt(28,2);
	   prepstmt.setNull(29, java.sql.Types.NULL );
	   prepstmt.setNull(30, java.sql.Types.NULL );
	   prepstmt.setNull(31, java.sql.Types.NULL );
	   prepstmt.setInt(32,number);
	   int row = prepstmt.executeUpdate();
	    System.out.println(number);
	    System.out.println(row);
	   ResultSet rs = prepstmt.getResultSet();
	   rs.next();
	     String name = rs.getString("NAME");
	     System.out.println(name);

huangapple
  • 本文由 发表于 2020年5月4日 17:00:14
  • 转载请务必保留本文链接:https://java.coder-hub.com/61588533.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定