Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα παιδια. Εχω αυτο:

conn.setAutoCommit(true);

stmt = conn.createStatement();
stmt.executeUpdate(“INSERT INTO CUSTOMER (NAME, AGE) VALUES (‘John’, 25)”);
conn.setAutoCommit(false)
stmt.execute(“UPDATE CUSTOMER SET AGE=24 WHERE NAME=’John’)”);
conn.setAutoCommit(true);
rset = stmt.executeQuery(“SELECT AGE FROM CUSTOMER WHERE NAME=’John’”);
if (rset.next()) {
int age = rset.getInt(“AGE”));
}

 

Το conn.setAutoCommit(true); καθιστα ολες τι αλλαγες να επικυρωνονται αυτοματα ετσι? Οποτε το: stmt.execute(“UPDATE CUSTOMER SET AGE=24 WHERE NAME=’John’)”); δεν επικυρωνετε πουθενα εδω επειδη οταν ετρεξε αυτο ισχυε conn.setAutoCommit(false) ?

Δημοσ.

Καλημέρα.

Ποιο είναι το πρόβλημα; Τι θες να καταφέρεις ακριβώς;

Δημοσ.

Έχεις δίκιο. Ακριβώς αυτή είναι η λειτουργία του Autocommit. Όταν έχει ψευδή τιμη, οι αλλαγές δεν επικυρώνονται αυτομάτως.

 

Φιλικά,

 

Ο Άσπρος Γάτος

  • Like 1
Δημοσ.

ευχαριστω πολυ! Θελω ακομη να καταλαβω αν το conn.setAutoCommit(true) επικυρωνει τις αλλαγες που εχουν προηγηθει αλλα δεν εχουν επικυρωθει οπως το stmt.execute(“UPDATE CUSTOMER SET AGE=24 WHERE NAME=’John’)”); στο συγκεκριμενο παραδειγμα.

Δημοσ.

Οταν σετάρεις setAutoCommit(true) ότι ακολουθεί μετά επικυρώνεται αυτόματα.

 

Οταν σετάρεις setAutoCommit(false) ότι ακολουθεί μετά ΔΕΝ επικυρώνεται αυτόματα εκτός

και να κάνεις εσύ Commit.

 

Σε αυτό που ρώτησες στην συνέχεια η απάντηση είναι οχι.

Το setAutoCommit(true) επικυρώνει αυτόματα όλες τις αλλαγές που θα κάνεις ΜΕΤΑ από αυτό.

 

Ελπίζω να σε κάλυψα.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...