我正在执行此代码,并且发生了一些奇怪的事情。我从外部文件进行批量插入。但结果它只是支离破碎,或者可能已损坏。
cnx=factoryInstace.getConnection();
pstmt = cnx.prepareStatement("DELETE FROM TEMPCELULAR");
pstmt.executeUpdate();
pstmt = cnx.prepareStatement("EXECUTE BLOCK AS BEGIN if (exists(select 1 from rdb$relations where rdb$relation_name = 'EXT_TAB')) then execute statement 'DROP TABLE EXT_TAB;'; END");
pstmt.executeUpdate();
pstmt = cnx.prepareStatement("CREATE TABLE EXT_TAB EXTERNAL '"+txtarchivoProcesar.getText()+"'(CELULAR varchar(11))");
pstmt.executeUpdate();
pstmt = cnx.prepareStatement("INSERT INTO TEMPCELULAR (CELULAR)SELECT CELULAR FROM EXT_TAB");
pstmt.executeUpdate();
pstmt = cnx.prepareStatement("SELECT CELULAR FROM TEMPCELULAR");
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
System.out.println("::"+rs.getString(1));
}
现在,突然间,我桌子上的行看起来像这样:
::c@gmail.com
::abc2@gmail.
::m
abc3@gma
::.com
abc4@
::ail.com
ab
::@gmail.com
::bc6@gmail.c
::abc7@gmai
::com
abc8@g
::il.com
abc
::gmail.com
::c10@gmail.c
::
结果之间的空格不是我做的。这就是结果。
外部表的源文件:
abc@gmail.com
abc2@gmail.com
abc3@gmail.com
abc4@gmail.com
abc5@gmail.com
abc6@gmail.com
abc7@gmail.com
abc8@gmail.com
abc9@gmail.com
abc10@gmail.com
sneciosup@hotmail.com
¿ 我的代码有什么问题?
我已经好几年没有看到这种古怪的结果了。数据库是在第一次运行时由用户 pc 创建的。因此,在每次我运行程序时都在生产中。
任何帮助将不胜感激。