Olá a todos!
Tenho o seguinte código que possui a função de ler linha a linha de um arquivo TXT, e jogar os dados em uma tabela no BD. Eis o código:
try{
Class.forName("org.firebirdsql.jdbc.FBDriver");
Connection con = DriverManager.getConnection("jdbc:firebirdsql:localhost/3050:C:\DARWINBANCODADOS.GDB","SYSDBA","masterkey");
Statement stm = con.createStatement();
arquivo = arq.getSelectedFile();
BufferedReader reader = new BufferedReader(new FileReader(arquivo));
String dados[] = new String[3];
String linha = reader.readLine();
while (linha != null) {
StringTokenizer st = new StringTokenizer(linha,";");
dados[0] = st.nextToken();
dados[1] = st.nextToken();
dados[2] = st.nextToken();
stm.executeUpdate("INSERT INTO GENOTIPAGEMMATERIAL (NUMINTERNO,M01ETH10A,M01ETH10B,DATAGENOTIPAGEM) VALUES ('"+dados[0]+"','"+dados[1]+"','"+dados[2]+"','"+DataField.getText()+"')");
linha = reader.readLine();
}
}
O problema é que ele somente grava a primeira linha do TXT. Quando ele vai ler as outras ele emite uma exception dizendo que a PK foi violada. Existe algum problema com esse código?.Alguém pode me ajudar?
Até mais
Patty