我正在做這個代碼,併發生了一些奇怪的事情。 我從外部文件進行批量插入。但結果只是支離破碎,或者可能已經損壞。firebird嵌入模式中的碎片行
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));
}
而現在,突然對我表中的行看起來是這樣的:
::[email protected]
::[email protected]
::m
[email protected]
::.com
[email protected]
::ail.com
ab
::@gmail.com
::[email protected]
::[email protected]
::com
[email protected]
::il.com
abc
::gmail.com
::[email protected]
::
結果之間的空白不是由我做的。這是結果。對於外部表
源文件:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
¿什麼是錯我的代碼?
我已經多年沒見過這個怪人的結果。 數據庫是在第一次運行時爲用戶pc創建的。因此,每當我運行程序時都在生產中。
任何幫助,將不勝感激。
我非常驚訝,這段代碼在我的老闆發表演講前一小時工作完美。 – jRam90 2012-08-04 22:08:57
有了這個確切的代碼,你總是會丟失任何字符串的前2個字符。 – 2012-08-05 08:14:38
我堅信外部表格查詢應該更加詳細,它應該支持不同的標記,變量長度或更多的檔案,如.xls(x)文件等等。我該如何推薦給開發者? – jRam90 2012-08-14 15:40:55