2012-04-07 7 views
2

kann mir bitte jemand dabei helfen? Ich versuche eine SQL-Abfrage (nach Microsoft SQL) mit JAVA auszuführen. Aber nichts passiert auf meinem Tisch. Auch keine Ausnahme. Aber ich bin mir ziemlich sicher, dass dieser Code direkt mit meiner DB verbunden ist. Hier ist mein Code.Abfrage auf SQL mit JAVA - nichts passiert

package Testing; 
//import java.sql.*; 
import java.sql.Connection; 

import java.sql.DriverManager; 

import java.sql.PreparedStatement; 

public class TestingClass { 
    public static void main(String[] srg) 
    { 
     String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // Start JDBC 
     String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=OPERATIONS"; // Connect the server and the database 
     String userName="AppControlTeam"; 
     String userPwd="*****"; 
     // 
     Connection connection = null; 
     try{ 
      Class.forName(driverName); 
      connection = DriverManager.getConnection(dbURL,userName,userPwd); 
      String sql = "DELETE FROM GFR_GROWTH_RATE"; 
      PreparedStatement statement = connection.prepareStatement(sql); 
      statement.executeUpdate(); 
      connection.close(); 
     } 
     catch (Exception e){ 
      e.printStackTrace(); 
     } 

} 
} 

Ich habe hinzugefügt, die bereits die JDBC-Treiber auf dem Paket. Außerdem bin ich mir ziemlich sicher, dass dies kein Klassenpfadproblem ist, da die Verbindung zur DB durch diesen Code bereits erfolgreich ist.

Vielen Dank im Voraus an jemanden, der helfen kann! : D

-Jiro

Antwort

3

Ihre DELETE rückgängig gemacht werden können, wenn Sie nicht Ihre autocommit Eigenschaft auf true der JDBC-Treiber festgelegt haben. Vielleicht versuchen

connection.commit(); 
// right before... 
connection.close(); 

Aufruf Oder alternativ:

connection.setAutoCommit(true); 
// before... 
PreparedStatement statement = connection.prepareStatement(sql); 
+0

Immer noch passiert nichts .. muss ich noch etwas überprüfen? Bitte helfen Sie mir, ich flehe dich an .. :( –

+0

Was ist das 'int' Ergebnis von' statement.executeUpdate() '? Kannst du dieselbe Anweisung direkt in der Datenbank ausführen? –

+0

Es gibt kein Ergebnis für int samplevariable = statement.executeUpdate(). Eigentlich hängt es direkt nach dem String sql = "DELETE FROM GFR_GROWTH_RATE";. Ich denke, etwas stimmt nicht nach dieser Aussage. Es ist auch erfolgreich, wenn auf der Werkbank von MS SQL ausgeführt. –

1

Wahrscheinlich wird die Reihe von einer anderen Sitzung gesperrt ist, kann eine nicht gebundene Sitzung sein, die (deleted/aktualisiert) die Datensätze aus der Tabelle geändert hat. Eine andere Möglichkeit ist ein Werkzeug, das die Zeile/den Datensatz mit dem gesperrten Zustand öffnet - also hängt die Löschanweisung.

Verwandte Themen