Veröffentlicht 7. März 200322 j Hallo! Ich bin JAVA Newbie und schreib grad an einem Tool, was Oracle Datenbank Tabellen updaten kann. Also von einer Master DB die Daten auslesen, die Client DB updaten funktioniert schon, nur wenn jetzt in der Master DB ein neuer Eintrag steht muß der doch mit INSERT in die Client DB übertragen werden. Also WENN in Master DB eine neue ID ist dann INSERT ansonsten update. Hört sich einfach an nur ich bekomm den neuen Eintrag nicht raus. void jButton2_actionPerformed(ActionEvent e) { String txtSQLA = "SELECT ID,MENU,Deutsch,Englisch from scott.LANGUAGE1"; ResultSet rs2 = null; String updSQL; int count=1; // Startwert, ab dem der RS kopiert wird. try { rs = stmtA.executeQuery(txtSQLA); rs.first(); do { String txtSQLB = "SELECT ID FROM scott.language2 WHERE ID = "+rs.getInt("ID"); rs2 = stmt.executeQuery(txtSQLB); rs2.first(); if(rs2.getBoolean()= null) { jTextArea1.append(String.valueOf(rs2.getInt("ID"))); //updSQL = "INSERT INTO scott.LANGUAGE2 (ID, MENU, DEUTSCH, ENGLISCH) VALUES(" + rs.getInt("ID") + ",'" + rs.getString("MENU") + "','" + rs.getString("Deutsch") + "','" + rs.getString("Englisch") + "')"; updSQL = "UPDATE "+ jTextField9.getText() +" SET ID = '"+rs.getInt("ID")+"', MENU = '"+rs.getString("MENU")+"', DEUTSCH ='"+rs.getString("Deutsch")+"', ENGLISCH = '"+rs.getString("Englisch")+"' WHERE ID = " + rs.getInt("ID"); //jTextArea1.append(updSQL); stmt.executeQuery(updSQL); } else jTextArea1.append("No update" + rs.getInt("ID")); }while (rs.next()); } catch (Exception e1) { System.out.println("Exception bei DataImport"); e1.printStackTrace(); } } Danke General Chang
8. März 200322 j Originally posted by GeneralChang Hallo! if(rs2.getBoolean()= null) { General Chang What the **** is that ? == <> = Sonst ... wie wär es mit einem Trigger in der Master DB ?? Frank
8. März 200322 j Das war try and error von mir. Ich habs mittlerweile so gelöst: Wenn er in der Master DB einen Eintrag mehr gefunden hat, nachdem man das Update gemacht hat, kam die SQLException: Erschöpfte Datenmenge. So, jetzt lass ich mit den Fehler Code ausgeben und statt if else sag ich jetzt try(update) und wenn der Fehlercode kommt catch(insert). Funktioniert nicht schlecht. Nächste Phase kommt jetzt: Was ist wenn in der Master DB eine vorhandener Eintrag rausgelöscht wird? Irgendwie muss ich das ganze nuur andersrum gestalten. Sollte meinen das ist ganz einfach, aber...naja, Newbie halt. Trigger?
9. März 200322 j Originally posted by GeneralChang Das war try and error von mir. Trigger? Trigger kann man auf Tabelle setzen, wenn da was passiert in der Tabelle wird der Trigger ausgelöst, damit kann man sowas eventuell auch lösen. Frank
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.